原由:由于我我的微博想要公开源码,但数据库配置文件会暴露在外面,又不想生产跟开发环境建来回切换,因此想到了加密数据库密码,因而问了群里的一个朋友小XX(原谅我不识字)html
通过:java
简单粗暴,直接上代码:git
1.须要引入依赖github
<!-- 数据库加密 --> <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency>
2.而后再yml或者properties中加入:spring
jasypt.encryptor.password=nmyswls
这个是盐值数据库
3.在测试类中maven
按 Ctrl+C 复制代码ide
按 Ctrl+C 复制代码spring-boot
这里面的参数是你的密码,而后返回来的是加密后的密码:yyrqk9reuY5kScmS3D9mWQ==测试
4.将加密后的密码贴到配置文件中,以下:
spring.datasource.password=ENC(yyrqk9reuY5kScmS3D9mWQ==)
这样就ok了,但我感受若是你一不当心将你的密码在测试代码中提交上去,岂不是白加密了吗,其实还有一种方法:
在你的maven仓库中找到:D:\repository\org\jasypt\jasypt\1.9.2,这个包就是加密的包了
cmd在这个包下执行以下命令,它会返回你加密后的密码:
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="root" password=zhang algorithm=PBEWithMD5AndDES
其中:
input:是数据库的明文密码
password:是机密的盐
algorithm:是加密的方式(默认)
而后在配置文件中把盐加进去就ok了
jasypt.encryptor.password=nmyswls
结果:妈妈不再用担忧个人密码被盗了~