使用AesCrypto

时间:2016-09-22 12:05:53

标签: java encryption aes

导致以下结果不同的原因是什么?

--------------
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的值?虽然两人都未能解密。

2 个答案:

答案 0 :(得分:0)

我不知道是什么库,但是当用一个密钥加密,并且用另一个密钥解密时,我会期望未定义的结果。

答案 1 :(得分:0)

  1. 使用AES加密时,您必须使用相同的密钥进行加密和解密。

  2. 关键是简短,AES仅支持128,192和256位密钥。

  3. 加密输出不是字符串,而是一系列8位字节。