今天在项目中作加密配置后,启动应用出现如下的问题:
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:最新长期支持版
推荐大家收藏保留