2016-03-21 7 views
0
私は128ビットAES暗号を作成するために、以下のコードを使用しています

は128 0の

String initializer = "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; 

byte[] initializer2 = new BigInteger(initializer, 2).toByteArray(); 

String encrypt = encrypt(binary_string_firsthalf, initializer2); 

public static String encrypt(String plainText, byte[] key) { 
    try { 
     SecretKeySpec secretKey = new SecretKeySpec(key, "AES"); 
     Cipher cipher = Cipher.getInstance("AES"); 
     cipher.init(Cipher.ENCRYPT_MODE, secretKey); 
     byte[] cipherText = cipher.doFinal(plainText.getBytes("UTF8")); 
     String encryptedString = new String(Base64.encode(cipherText)); 
     return encryptedString; 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return null; 
} 

含まれているが、コードは無効AESキーの長さを言って例外を返しています。 128 0を使用して暗号を作成する方法。

答えて

0
byte[] initializer2 = new byte[16]; 

デフォルトの値0x00でバイト配列を初期化する必要があります。


実際の暗号化にはすべて0x00バイトなどの静的予測可能キーは使用しないでください。

関連する問題