Ich schreibe ein Steganographiesystem, das einen Text innerhalb eines Bildes verschlüsselt - ich entschied, dass ich den Text auch verschlüsseln möchte, bevor ich ihn in das Bild einbette. Der Steganography-Algorithmus arbeitet mit String-Ein-/Ausgabe.Kann die javax.crypto.BadPaddingException nicht überwinden
Aufgrund meiner Laune, habe ich versucht, DES und AES-Algorithmus zu verwenden, aber rannte in die Ausnahme oben. Ich werde zum Beispiel zeigen die Verschlüsselungs-/Entschlüsselungs-Methoden des AES-Algorithmus:
public static byte[] encryptText(String plainText,SecretKey secKey) throws Exception{
// AES defaults to AES/ECB/PKCS5Padding in Java 7
Cipher aesCipher = Cipher.getInstance("AES");
aesCipher.init(Cipher.ENCRYPT_MODE, secKey);
byte[] byteCipherText = aesCipher.doFinal(plainText.getBytes());
return byteCipherText;}
public static String decryptText(byte[] byteCipherText, SecretKey secKey) throws Exception {
// AES defaults to AES/ECB/PKCS5Padding in Java 7
Cipher aesCipher = Cipher.getInstance("AES");
aesCipher.init(Cipher.DECRYPT_MODE, secKey);
byte[] bytePlainText = aesCipher.doFinal(byteCipherText);
return new String(bytePlainText);
}
Und hier ist die Berufung (Encryption Seite):
//sending the text to encrypt using AES algorithm
byte[] cipherText = new AES_Algorithm().encrypt(messageDesc.getText(), key);
//converting into a String to encrypt using Steganography
newStringtoEncrypt = new String (cipherText);
Und hier ist die Berufung (Decryption Seite) - dIE AUSNAHME:
//AES encrypted String after the Steganography's decryption
String decMessage = dec.decode(path, name);
//converting the String to byte []
byte [] byteArray = decMessage.getBytes();
try{
//HERE IS WHERE I GET THE EXCEPTION
//sending the byte array to decryption
String original = AES_Algorithm().decrypt(byteArray, key);
Wo liegt das Problem?
Die Tasten sind ähnlich und die Byte-Arrays als auch (i geprüft es durch die Sequenz Druck) - aber ich wurde gesagt, dass ich nicht getBytes()
um von String in byteArray
umwandeln können, wenn ich AES/DES
verwenden möchten Entschlüsselungsalgorithmus.
Mein Gott, wie einfach ... ich habe jetzt für 2 Tage mein Gehirn - DANKE DANK! – prowler