如何找出我的JVM支持哪种算法[加密]?
2022-09-01 09:41:47
我正在使用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: Encryption 引发了一个例外。可能的原因是您正在使用强加密算法,并且您尚未在此 Java 虚拟机中安装 Java 加密 Ex tension (JCE) 无限强度管辖权策略文件
阿比 说:
设置要用于加密的算法 设置要用于加密的算法,如 PBEWithMD5AndDES。
此算法必须由您的 JCE 提供程序支持(如果您指定一个,或者如果您不指定一个,则默认 JVM 提供程序),并且,如果它受支持,您还可以为其指定模式和填充,例如 ALGORITHM/MODE/PADDING。
现在,当您评论“setAlgorithm”时,它将使用默认算法[我猜它是md5 ],并且它将正常工作。这意味着我的JVM支持md5。现在,如何找出我的JVM支持的其他加密算法。
谢谢