问题描述
我有一个 Spring Boot 项目,需要对 application.properties 中的一些属性进行加密。我试过使用 jasypt,但很快就遇到了一个问题:如何加密属性以放入配置?我找到了一些可以让我加密和解密的网页,但他们使用旧算法而不是新的默认 PBEWITHHMACSHA512ANDAES_256。
解决方法
您可以使用 mvn 命令将加密值获取到您的配置文件中。
例如,如果您想加密值 mySecret,请将值作为属性放置在 application.properties 文件中,括在方括号内并以 DEC 为前缀。
secret.property.example.value=DEC(mySecret)
现在通过指定密码使用 mvn 运行 encrypt 命令。
mvn jasypt:encrypt -Djasypt.encryptor.password="myPassword"
运行上述命令将生成加密的秘密值并将其存储在属性文件中。你的价值看起来像这样
secret.property.example.value=ENC(mySecretEncrypted)
你可以通过@Value注解直接读取应用中的值,你得到的字符串已经被解密了。