Jasypt加密操作为何抛出异常,无法进行加密?
摘要:今天在项目中作加密配置后,启动应用出现如下的问题: Caused by: org.jasypt.exceptions.EncryptionOperationNotPossibleException: Encryption raised an
今天在项目中作加密配置后,启动应用出现如下的问题:
Caused by: org.jasypt.exceptions.EncryptionOperationNotPossibleException: Encryption raised an exception. A possible cause is you are using strong encryption algorithms and you have not installed the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files in this Java Virtual Machine
原因:这个错误提示您使用的是高强度加密算法,但Java环境缺少JCE无限强度策略文件
解决办法可以采用两种方式
第一种方法:下载对应的JDK版本的JCE无限制强度策略文件
安装配置步骤
下载后解压,您会得到两个JAR文件:local_policy.jar和 US_export_policy.jar
找到您的JRE安装目录下的安全策略文件夹:
Windows: %JAVA_HOME%\jre\lib\security
Linux/Mac: $JAVA_HOME/jre/lib/security
备份原有的策略文件
将下载的两个JAR文件复制到该目录,覆盖原有文件
第二种方法:从Java 9开始,JCE无限强度策略文件已经是标准配置,不再需要单独安装。
Java 9及以上(包括Java 11, 17, 21等):
无限强度加密算法默认启用
JCE策略文件已内置在JDK中
不再需要单独下载和安装
升级到Java 11+的好处:
✅ 无需处理JCE策略文件问题
✅ 长期支持版本(LTS)更新周期更长
✅ 性能提升和新特性
✅ 安全性改进
推荐的Java 11+版本:
Java 11 LTS:目前仍广泛使用
Java 17 LTS:推荐的稳定版本
Java 21 LTS:最新长期支持版
推荐大家收藏保留
