在普通的web项目中,常常需要对具有敏感问题的数据进行加密,如数据源的url、账号、密码等。本篇博文介绍的是,在idea环境中,对敏感信息进行ENC加密。加密步骤如下:
1.引入pom依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
2.下载需要使用的工具包
本地需要使用到的工具包,包路径为:repository\org\jasypt\jasypt\1.9.2
(其中repository为你本地仓库地址,本地不存在时可添加到pom下载
后,再删除
)
jasypt-1.9.2.jar依赖
<!-- https://mvnrepository.com/artifact/org.jasypt/jasypt -->
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>1.9.2</version>
</dependency>
3.执行命令语句,获取加密后密文
依赖和工具包下载完毕后,打开idea 的Terminal
命令窗口界面,选到你本地工具依赖jasypt-1.9.2.jar
所在目录,或者cmd
命令窗口。
执行命令语句:
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="123456" password=123456 algorithm=PBEWithMD5AndDES
——input:为需要加密的数据,如密码,账号等
——password:为加密数据使用的密钥
——algorithm:为默认算法
实际操作,如下图:
OUTPUT为加密后所得密文。
4.修改配置文件,添加解密密钥
然后对需要加密的数据所在的配置文件做出对应的修改,修改样式如下:
加密前:
spring:
data:
mongodb1:
uri: mongodb://abc:abc*2020@10.88.37.75:27017/abc
database: abc
加密后:
spring:
data:
mongodb1:
uri: ENC(7eWO6DlvfoKUF58FASFA7EFS2ZCc3EuWDUMILTpevqXMSITBK7wAZstD82ASF38F2AFF22rfjyQ=)
database: abc
jasypt:
encryptor:
#用来加解密的salt值
password: 123456