【SpringBoot】使用jasypt将数据库明文密码加密(结合SpringBoot实现)

最近需要将数据库的明文密码进行加密,故使用到了jasypt加密,特此记录。下面是我的使用过程。

一、准备工作

1.1 pom依赖

        
        
            com.github.ulisesbocchio
            jasypt-spring-boot-starter
            2.0.0
        

 1.2 生成密文

在添加依赖后,到自己本地的maven仓库中可以找到对应的jar包,我的路径:C:\SoftWare\Apache-maven-MvnRepository\org\jasypt\jasypt\1.9.2。在jar包目录下打开命令行,执行:

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="root" password=salt algorithm=PBEWithMD5AndDES

其中:input:需要加密的字段

          password:混淆秘钥,也就是盐值,用来进行加密 

          algorithm:加密方式

【SpringBoot】使用jasypt将数据库明文密码加密(结合SpringBoot实现)_第1张图片

  如图所示,OUTPUT就是加密之后的密码。

二、在SpringBoot中集成jasypt

2.1 pom中增加上述依赖

2.2 在yml文件中加入jasypt配置,如图所示:

【SpringBoot】使用jasypt将数据库明文密码加密(结合SpringBoot实现)_第2张图片

 2.3. 对数据库明文密码进行加密,如图所示,加入ENC,保证可以进行解密(这里的ENC就是上面生成那个密文,图中只是举例)。

【SpringBoot】使用jasypt将数据库明文密码加密(结合SpringBoot实现)_第3张图片

 2.4 加入注解,使得加密生效 @EnableEncryptableProperties

这样就可以实现数据库的密文显示,当然如果担心加密秘钥的泄露,可以在启动项目时进行配置,而不写在配置文件中,或者写在本地环境变量中进行加载。

你可能感兴趣的:(学习笔记)