Moin,
ich habe eine Klasse geschrieben, welche mir einen String ver- und entschlüsseln soll.
Das verschlüsseln klappt soweit gut nur beim entschlüsseln erhalte ich folgende
Exception:
Danke schon mal für die Hilfe
ich habe eine Klasse geschrieben, welche mir einen String ver- und entschlüsseln soll.
Das verschlüsseln klappt soweit gut nur beim entschlüsseln erhalte ich folgende
Exception:
Java:
javax.crypto.BadPaddingException: Given final block not properly padded
Java:
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
public class CryptHelper {
private static String key = "0123456789012345";
public static String encryptString(String text) {
try {
Key secretKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
byte[] encrypted = text.getBytes("UTF-8");
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
byte[] encryptBytes = cipher.doFinal(encrypted);
String encryptString = new String(encryptBytes);
return encryptString;
} catch (Exception e) {
System.out.println("encrypt failed");
}
return text;
}
public static String decryptString(String text) {
try {
Key secretKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, secretKey);
byte[] decryptBytes = cipher.doFinal(text.getBytes());
String decryptString = new String(decryptBytes,"UTF-8");
return decryptString;
} catch (Exception e) {
System.out.println("decrypt failed");
}
return text;
}
}
Danke schon mal für die Hilfe