我正在尝试使用给定密钥的AES-128算法加密字符串。
由Java实现,我使用了解决方案here。
public static void main(String[] args) {
String key = "Bar12345Bar12345"; // 128 bit key
String initVector = "RandomInitVector"; // 16 bytes IV
System.out.println(encrypt(key, initVector, "System")));
}
结果:
encrypted string: iHvz04u8X7FPo7yagSLthA==
以上结果不是我想要的,我希望ZJfsFFLjl6YS0Xys5OUVIA==
是System
的加密值。
就像流动的测试开始:http://aesencryption.net/
任何提议?
答案 0 :(得分:1)
您的Java代码使用IV,而基于Web的加密未使用IV。出于安全目的,您应该使用随机IV,以便使用相同的密钥对相同的数据加密两次并不会产生相同的密文。但是,如果您的要求是从基于Web的结果获得相同的结果,请完全省略初始化向量。