2016-09-22 6 views
-2

以下の結果はどうして違うのですか?AESCryptoを使用して差分整数値1と2を復号化します

-------------- 
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 

null値1を生成しない理由は、2の値と等しくないのですか?どちらも解読に失敗しましたが。

+0

'String.valueOf(1)'を '' 1 ''に置き換えることができます。 – progyammer

答えて

0

1つの鍵で暗号化しているときにはどのライブラリであるのかわかりませんが、他の鍵で復号すると未定義の結果が予想されます。

0
  1. AES暗号化を使用する場合は、同じ鍵で暗号化と復号化を行う必要があります。

  2. キーは短くするため、AESは128,192、および256ビットのキーのみをサポートしています。

  3. 暗号化の出力は文字列ではなく、一連の8ビットバイトです。

関連する問題