MT Manager v2.15.3版本的 MD5 值为:27f0d62ac7123fbbaefff319fdab9f13
以下内容为反编译后的 C1722.java 源代码,内容仅作参考
package l;
import java.io.IOException;
import java.math.BigInteger;
import java.security.InvalidKeyException;
import org.bouncycastle.asn1.x509.ExtensionsGenerator$$ExternalSyntheticOutline0;
import org.bouncycastle.crypto.modes.GCMSIVBlockCipher;
public final class C1722 extends AbstractC9301 {
public byte[] f6447;
public byte[] f6448;
public byte[] f6449;
@Override
public final String mo5110() {
return "SHA-256";
}
@Override
public final byte[] mo5108() {
return (byte[]) this.f6447.clone();
}
@Override
public final byte[] mo5109() {
return (byte[]) this.f6448.clone();
}
@Override
public final void mo5106(String str) {
if (!"curve25519-sha256".equals(str) && !"curve25519-sha256@libssh.org".equals(str)) {
throw new IOException(C2016.m5865("Invalid name ", str));
}
byte[] m30943 = C14804.m30943();
m30943[0] = (byte) (m30943[0] | 7);
byte b = (byte) (m30943[31] & 63);
m30943[31] = b;
m30943[31] = (byte) (b | GCMSIVBlockCipher.MASK);
this.f6449 = m30943;
try {
byte[] bArr = new byte[32];
bArr[0] = 9;
this.f6447 = C2173.m6366(m30943, bArr);
} catch (InvalidKeyException e) {
throw new IOException(e);
}
}
@Override
public final void mo5107(byte[] bArr) {
if (bArr.length != 32) {
throw new IOException(ExtensionsGenerator$$ExternalSyntheticOutline0.m(new StringBuilder("Server sent invalid key length "), bArr.length, " (expected 32)"));
}
byte[] bArr2 = (byte[]) bArr.clone();
this.f6448 = bArr2;
try {
byte[] m6366 = C2173.m6366(this.f6449, bArr2);
int i = 0;
for (int i2 = 0; i2 < 32; i2++) {
i |= m6366[i2];
}
if (i == 0) {
throw new IOException("Invalid key computed; all zeroes");
}
this.f27123 = new BigInteger(1, m6366);
} catch (InvalidKeyException e) {
throw new IOException(e);
}
}
}