2016-03-21 8 views
0

ich den Code unten bin mit einer 128-Bit-AES-Chiffre zu erstellen,Wie ein AES Cipher mit einem 128-Bit-Kette erstellen enthält 128 0en

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

Aber der Code eine Ausnahme zu sagen ungültig AES-Schlüssellänge zurückkehrt. So erstellen Sie eine Chiffre mit 128 Nullen.

Antwort

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

ist alles was Sie brauchen, um ein Byte-Array mit dem Standardwert von 0x00 zu initialisieren.


Verwenden Sie keinen statischen vorhersagbaren Schlüssel wie alle 0x00 Bytes für die tatsächliche Verschlüsselung.

Verwandte Themen