jasypt 解密失败: Failed to bind properties under ‘spring.datasource.password‘ to java.lang.String
我使用的是jdk1.8.0版本,其中jdk1.8.0又细分了多个版本,项目使用jasypt进行加解密,配置中心的mysql密码值使用。从注册表(运行regedit)中删除jdk的默认启动的版本。编辑JAVA_HOME变量,变量值引用刚才新增的系统变量。jdk1.8.0u161,所以我决定。项的值,将这两项的值都设置为空即可。以上的版本,但是我的jdk版本是。目录下的与java相关的运行程序。,变量
jasypt解密问题
一、问题描述
项目使用jasypt进行加解密,配置中心的mysql密码值使用ENCRYPT()
加密,如下所示:
但是项目启动时报解密错误:
Failed to bind properties under 'spring.datasource.password' to java.lang.String
使用版本:
jasypt-spring-boot-starter:3.0.4
spring-boot-starter:2.7.18
二、原因
我使用的是jdk1.8.0版本,其中jdk1.8.0又细分了多个版本,jasypt加解密
需要要求jdk1.8.0u161
以上的版本,但是我的jdk版本是jdk1.8.0u151
低于
jdk1.8.0u161,所以我决定改用更高级
的jdk版本
三、解决
3.1 更换高版本的jdk
准备更换jdk1.8.0u381
版本
3.1.1 下载
jdk下载地址:
链接: JDK 8u211 and later
链接: JDK 8u202 and earlier
3.1.2 安装
安装jdk步骤略过
新安装的jdk路径:D:\softInstall\jdk1.8u381
jre路径:D:\softInstall\jre1.8u381
3.1.3 配置环境变量切换jdk
因为我本地已经安装了jdk18.0u151
版本,现在新安装
了一个jdk18.0u381
版本,需要切换到新版本。
参考文章:
链接: https://blog.csdn.net/qq_42109746/article/details/118598334
3.1.3.1 新建系统变量
新建一个系统变量JAVA_HOME_1.8_381
,变量值指向新jdk安装路径D:\softInstall\jdk1.8u381
3.1.3.2 编辑JAVA_HOME变量
编辑JAVA_HOME变量,变量值引用刚才新增的系统变量JAVA_HOME_1.8_381
修改后效果:
3.1.3.3 修改java运行时环境
3.1.3.4 删除运行程序
删除C:\Program Files (x86)\Common Files\Oracle\Java\javapath_target_12456796
目录下的与java相关的运行程序
3.1.3.5 修改注册表
从注册表(运行regedit)中删除jdk的默认启动的版本。
在HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft
的Java Development Kit
的CurrentVersion
项的值和Java Runtime Environment
的CurrentVersion
项的值,将这两项的值都设置为空即可
3.1.3.6 验证
java -version
查看版本:
看到是最新的表示修改成功
3.1.3.7 idea修改jdk
3.2 其他方式
可以参考一下文章,开启安全策略:
参考文章:链接: https://www.jianshu.com/p/7eba0fc033d8
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)