Caused by: org.jasypt.exceptions.EncryptionOperationNotPossibleException: Encryption raised an exception

今天在项目中作加密配置后,启动应用出现如下的问题:

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.jarUS_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:最新长期支持版

推荐大家收藏保留

posted @ 2026-03-16 17:25  子墨老师  阅读(15)  评论(0)    收藏  举报