Я использую Jasypt для шифрования. Это мой код:
public class Encryptor {
private final static StandardPBEStringEncryptor pbeEncryptor = new StandardPBEStringEncryptor();
private final static String PASSWORD = "FBL";
private final static String ALGORITHM = "PBEWithMD5AndTripleDES";
static{
pbeEncryptor.setPassword( PASSWORD );
//pbeEncryptor.setAlgorithm( ALGORITHM );
}
public static String getEncryptedValue( String text ){
return pbeEncryptor.encrypt( text );
}
public static String getDecryptedValue( String text ){
return pbeEncryptor.decrypt( text );
}
}
Раскомментируйте строку setAlgorithm
и создайте исключение
org.jasypt.exceptions.EncryptionOperationNotPossibleException: Шифрование вызвало исключение. Возможная причина: вы используете сильные алгоритмов шифрования, и у вас нет установлен Java Cryptography Ex напряжение (JCE) Неограниченная сила Файлы политики Jurisdiction в этом Java Виртуальная машина
api говорит:
Устанавливает алгоритм, который будет использоваться для шифрование Устанавливает алгоритм используется для шифрования, например PBEWithMD5AndDES.
Этот алгоритм должен поддерживаться ваш поставщик JCE (если вы укажете один, или поставщика JVM по умолчанию, если вы не), и, если он поддерживается, вы также можно указать режим и дополнение для это, как ALGORITHM/MODE/PADDING.
Теперь, когда вы комментируете 'setAlgorithm', он будет использовать алгоритм по умолчанию [я думаю, это md5], и он будет работать нормально. Это означает, что md5 поддерживается моей JVM. Теперь, как узнать, какие другие алгоритмы шифрования поддерживаются моей JVM.
Спасибо,