使用 jasypt 时,如何获取加密值以放入我的配置中?

When using jasypt, how do I get the encrypted value to put in my config?

我有一个 Spring 引导项目,我需要在其中加密 application.properties 中的某些属性。我试过使用 jasypt,但我很快 运行 遇到了一个问题:如何加密 属性 以放入配置?我找到了一些可以让我加密和解密的网页,但它们使用旧算法而不是新的默认算法 PBEWITHHMACSHA512ANDAES_256。

您可以使用 mvn 命令获取配置文件的加密值。

例如,如果要加密值 mySecret,请将值作为 属性 放在 application.properties 文件中,用方括号括起来并以十二月

secret.property.example.value=DEC(mySecret)

现在 运行 通过指定密码使用 mvn 加密命令。

mvn jasypt:encrypt -Djasypt.encryptor.password="myPassword"

运行 上述命令将生成加密的秘密值并将其存储在属性文件中。你的值看起来像这样

secret.property.example.value=ENC(mySecretEncrypted)

你可以直接在应用中通过@Value注解读取值,你拿到的字符串已经被解密了。