Я использую Jasypt для шифрования. Это мой код:Как узнать, какой алгоритм [шифрование] поддерживается моей JVM?
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: Encryption поднял excep Тион. возможно причина вы используете сильные алгоритмы шифрования, и вы не установили Java Cryptography Ex напряжение (ОКО) Неограниченное Strength Юрисдикция Политика файлы в этом Java Virtual Machine
апи говорит:
Устанавливает алгоритм будет использоваться для шифрования Устанавливает алгоритм будет , используемый для шифрования, как PBEWithMD5AndDES.
Этот алгоритм должен быть поддержан поставщика ОКО (если вы укажете один, или поставщика в JVM по умолчанию, если вы нет), и, если она поддерживается, вы также режим и отступы указать для это, как ALGORITHM/MODE/PADDING.
Теперь, когда вы прокомментируете «setAlgorithm» он будет использовать по умолчанию алгоритм [я предполагаю, что это md5], и он будет работать нормально. Это означает, что md5 поддерживается моей JVM. Теперь, как узнать, какие другие алгоритмы шифрования поддерживаются моей JVM.
Спасибо,
я использую JDK 1.6 –
Вместо: System.out.println ("Алгоритм:" + service.getAlgorithm()); используйте System.out.println («+ сервис»); и вы сможете увидеть доступные уровни шифрования. Например, следующее указывает на то, что поддерживается 128-битное шифрование AES, но не 256-битное AES: SunJCE: Cipher.AES -> com.sun.crypto.provider.AESCipher ... Поддерживаемые модели: ECB | CBC | PCBC | CTR | CTS | CFB | OFB | CFB8 | CFB16 | CFB24 | CFB32 | CFB40 | CFB48 | CFB56 | CFB64 | OFB8 | OFB16 | OFB24 | OFB32 | OFB40 | OFB48 | OFB56 | OFB64 | CFB72 | CFB80 | CFB88 | CFB96 | CFB104 | CFB112 | CFB120 | CFB128 | OFB72 | OFB80 | OFB88 | OFB96 | OFB104 | OFB112 | OFB120 | OFB128} –
В списке кодов много алгоритмов, которые нельзя использовать. Не очень полезный код. – Jonas