在普通的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所在目录
执行命令语句:
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="123456" password=34444 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