Привет,
Я шифрую и дешифруя в Java с помощью Blowfish.
Шифрование работает нормально, но дешифрование не выполняется.
Вот мой код Java для дешифрования:
String encryptedString = … ;
String decryptedString = null;
SecretKeySpec key = new SecretKeySpec(myKey.getBytes(), "Blowfish");
Cipher cipher;
try {
cipher = Cipher.getInstance("Blowfish");
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] decrypted = cipher.doFinal(encryptedString.getBytes());
decryptedString = new String(decrypted, Charset.forName("UTF-8"));
} [ catch Exceptions … ]
Я получаю исключение:
Exception. javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher
Можете ли вы рассказать мне, как сделать это просто работать? Спасибо.
Ввод, который я даю, получен из кода кодирования Java, + кодирования в Base64, и я декодирую его из Base64 перед тем, как передать его в эту операцию дешифрования.