Javax.Crypto.Iillegalblocksizeexception bei Verwendung von Blowfish in Java
Frage
String key = "my_own_key_which_should_be_quite_long";
byte[] keyData = key.getBytes();
SecretKeySpec myKey = new SecretKeySpec(keyData, "Blowfish");
Cipher cipher = Cipher.getInstance("Blowfish");
cipher.init(Cipher.ENCRYPT_MODE, myKey);
String input = "string to encrypt";
try {
byte[] encrypted = cipher.doFinal(input.getBytes());
System.out.println(new String(encrypted));
} catch (Exception ex) {
ex.printStackTrace();
}
javax.crypto.ilgelegalblocksizeexception: 7 nachfolgende Bytes werden von der Dofinal -Methode geworfen. Was ist das Problem? Was ist das interessanteste - egal wie lange die Schlüsselzeichenfolge die Ausnahme immer gleich ist - 7 nachfolgende Bytes.
Lösung
Wie auch immer, die Verwendung von GnuCrypto -Bibliothek hat dieses Problem gelöst
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow