1 回答

TA貢獻(xiàn)1783條經(jīng)驗 獲得超4個贊
問題在于,在您的 Java 代碼中,您僅使用 192 位密鑰,而在 C# 版本中,您使用的是 256 位密鑰。
您的 base64 編碼密鑰是 32 個字符,轉(zhuǎn)換為 24 個字節(jié),即只有 192 位。
這些是 Java 中有問題的行:
public static String key = "aaaaaaaabbccccbbaaaaaaaabbccccbb"; // 32 characters
private static byte[] key_Array = Base64.decode(key, Base64.DEFAULT); // 24 bytes
只需更改 Java 鍵數(shù)組的創(chuàng)建即可解決問題。就像是:
public static String key = "aaaaaaaabbccccbbaaaaaaaabbccccbb"; // 32 characters
private static byte[] key_Array = new byte[32]; // 32 bytes
static {
// copy the 24 base64-decoded bytes to the key array
System.arraycopy(Base64.decode(key, Base64.DEFAULT), 0, key_Array, 0, 24);
}
添加回答
舉報