网站设计培训班如何,在什么网站做引流,宿州网站建设推广,多模块内容网页布局设计写在最前#xff1a;因业务需要把nacos配置中的部分密码加密#xff0c;不能暴露在外#xff0c;本想用nacos官方的插拔插件nacos-aes-encryption-plugin的#xff0c;但是比较复杂且官方文档说的不清不楚所以弃用#xff0c;有兴趣的可以参考。链接#xff1a;https://n…写在最前因业务需要把nacos配置中的部分密码加密不能暴露在外本想用nacos官方的插拔插件nacos-aes-encryption-plugin的但是比较复杂且官方文档说的不清不楚所以弃用有兴趣的可以参考。链接https://nacos.io/zh-cn/docs/v2/plugin/config-encryption-plugin.html。遂使用第二种方法jasypt以下是具体用法。
1.引入依赖版本自定
dependencygroupIdcom.github.ulisesbocchio/groupIdartifactIdjasypt-spring-boot-starter/artifactIdversion3.0.5/version
/dependency2.yml新增配置
jasypt:encryptor:password: U3buwRJdQ2023(随便取)algorithm: PBEWithMD5AndDES(固定值)//配置格式(不写默认ENC)property:prefix: P[suffix: ]注algorithm是加密算法官方默认的加密算法是 PBEWITHHMACSHA512ANDAES_256但是如果你用的是 JDK1.8还用不了这个算法JDK9以上才支持所以可以把这个算法改成PBEWithMD5AndDES。 2.1.2版本默认加密方式为PBEWithMD5AndDES 3.0.3版本默认加密方式为PBEWITHHMACSHA512ANDAES_256 当引入3.0.3依赖却没有添加相关jasypt加解密配置而密文通过【PBEWithMD5AndDES】来加密启动会报错。 需要切换为【PBEWITHHMACSHA512ANDAES_256】方式进行。
3.生成加密密文 /*** jasypt.encryptor.password 对应 配置中心 application-dev.yml 中的密码*/Testpublic void testEnvironmentProperties() {System.setProperty(JASYPT_ENCRYPTOR_PASSWORD, xxx);StringEncryptor stringEncryptor new DefaultLazyEncryptor(new StandardEnvironment());//加密方法System.out.println(stringEncryptor.encrypt(123456));//解密方法System.out.println(stringEncryptor.decrypt(saRv7ZnXsNAfsl3AL9OpCQ));}4.修改nacos或yml配置为密文必须得是ENC(密文)格式若想更改前缀需配置
spring:datasource:password: ENC(密文)