java配置文件 密码加密
摘要:坑爹的项目验收时要进行安全审查、服务压测、代码扫描,还好不是很严,下面文章就是关于如何对用户名密码进行加密的。
1.pom文件中加入依赖,注意这里版本不能太高,我之前用的3.0.2,一直报错(Failed to bind properties under ‘spring.datasource.password‘ to java.lang.String),踩坑记录下
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.2</version> </dependency>
2.找到本地maven仓库中的jasypt-1.9.3.jar所在位置,如图所示
3.在该位置打开cmd,执行如下命令获取密文,java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=sa password=abc algorithm=PBEWithMD5AndDES
input后面的就是你要加密的内容,password就是加的盐
4.用户名和密码分别执行一次,将output内容加入替换到yml文件中(前面加上ENC),另外配置好盐,如下所示
jasypt: encryptor: password: abc algorithm: PBEWithMD5AndDES spring: datasource: &base url: jdbc:sqlserver://192.168.10.177:1433;DatabaseName=CCTV_cz username: ENC(YcfO9HSylqKcG7iZ//vs0w==) password: ENC(YcfO9HSylqKcG7iZ//vs0w==)
5.最后再在application启动类中加入@EnableEncryptableProperties注解即可
个人学习笔记,记录日常学习,便于查阅及加深,仅为方便个人使用。