导致以下结果不同的原因是什么?
--------------
IF Value = 1 :
--------------
String key1 = "123456";
String key2 = "654321";
String x = AesCrypto.encrypt(key1, String.ValueOf(1));
String y = AesCrypto.decrypt(key2, x);
Result --> y = ���8��VW&�S
--------------
IF Value = 2 :
--------------
String key1 = "123456";
String key2 = "654321";
String x = AesCrypto.encrypt(key1, String.ValueOf(2));
String y = AesCrypto.decrypt(key2, x);
Result --> y = null
为什么不产生空值1,不等于2的值?虽然两人都未能解密。
答案 0 :(得分:0)
我不知道是什么库,但是当用一个密钥加密,并且用另一个密钥解密时,我会期望未定义的结果。
答案 1 :(得分:0)
使用AES加密时,您必须使用相同的密钥进行加密和解密。
关键是简短,AES仅支持128,192和256位密钥。
加密输出不是字符串,而是一系列8位字节。