在项目的配置文件中常常需要对数据库的相关信息进行配置,在经过实战操作并查阅资料的基础上,本文对jasypt加密的使用方式进行相关说明。
配置文件加载
在命令行获取加密后的密码
使用命令
java -cp + jasypt在本地代码仓库的位置 org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="需要加密的命令" password=盐值 algorithm=PBEWithMD5AndDES
例如
java -cp C:\Users\DELL\.m2\repository\org\jasypt\jasypt\1.9.2\jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="jdbc:mysql://172.0.0.1/8080?useUnicode=true&characterEncoding=utf-8" password=dsfkjlskfsldkfj!wa algorithm=PBEWithMD5AndDES
修改配置文件
将加密后的字符串存放在ENC(加密字符)中。
spring.datasource.password=ENC(UeDzWL3UQhMQNRRycFfYAuK7lH7kCGE3)
配置前缀与后缀进行说明
jasypt.encryptor.property.prefix=ENC(jasypt.encryptor.property.suffix=)
修改启动类
System.setProperty("jasypt.encryptor.password", "盐值");
在主方法中添加说明秘钥,并添加注解
@EnableCaching@EnableEncryptableProperties
使用这种配置方式,在整个Spring环境中,任何加密属性将是可用的。