У меня возникла проблема с работой jaspyt в этом сценарии:
StrongTextEncryptor textEncryptor = new StrongTextEncryptor();
textEncryptor.setPassword("myPassword");
String myEncryptedParam = textEncryptor.encrypt("myClearMessage");
myObject.setCallbackUrl("http://myhost/notification?myparam="+myEncryptedParam);
Когда я получаю URL-адрес обратного вызова и пытаюсь расшифровать параметр «myParam», указанный в URL-адресе, С ТЕМ ЖЕ СИЛЬНЫМ ТЕКСТЕНКРИПТОРОМ, который используется в запросе, возникает исключение:
org.jasypt.exceptions.EncryptionOperationNotPossibleException
at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.decrypt(StandardPBEByteEncryptor.java:1055)
at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.decrypt(StandardPBEStringEncryptor.java:725)
at org.jasypt.util.text.StrongTextEncryptor.decrypt(StrongTextEncryptor.java:118)
at com.softlysoftware.caligraph.util.Util.decryptMessage(Util.java:30)
Копая немного больше в исключении, я получаю:
BadPaddingException: Given final block not properly padded
Если я тестирую процесс шифрования/дешифрования без httprequest, работает нормально.