我的任务是对我们的application.yml文件中的所有密码进行加密。我一直在使用 https:/medium.com@sun30nilhow-to-secure-security-security-and-password-in-springboot-90c952961d9。 和 https:/www.baeldung.comspring-boot-jasypt 来指导我。这一切都很顺利,直到我在application.yml中看到以下几行字
security:
oauth2:
resource:
jwt:
keyValue:
-----BEGIN PUBLIC KEY-----
RAZZINFRAZZINMISERABLELONGEAREDGALOOTRAZZINFRAZZINMISERABLELONGE
AREDGALOOTRAZZINFRAZZINMISERABLELONGEAREDGALOOTRAZZINFRAZZINMISE
RABLELONGEAREDGALOOTRAZZINFRAZZINMISERABLELONGEAREDGALOOTRAZZINF
RAZZINMISERABLELONGEAREDGALOOTRAZZINMISERABLELONGEAREDGALOOTRAZZ
INFRAZZINMISERABLELONGEAREDGALOOTRAZZINMISERABLELONGEAREDGALOOTR
AZZINFRAZZINMISERABLELONGEAREDGALOOTRAZZINMISERABLELONGEAREDGALO
OTRAZZIN
-----END PUBLIC KEY-----
我如何用命令加密这些类型的密钥,然后放在我的application.yml中的ENC()里面?
java -cp ~/.m2/repository/org/jasypt/jasypt/1.9.2/jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=”Topsecret@123" password=dev-env-secret algorithm=PBEWITHMD5ANDDES
然后放在application.yml的ENC()里面?
上网查了好几个词组都没找到。
所以,我最后使用的解决方案只是将ENC()放在密钥的每一行。所以,举个例子。
security:
oauth2:
resource:
jwt:
keyValue:
-----BEGIN PUBLIC KEY-----
@ENC(RAZZINFRAZZINMISERABLELONGEAREDGALOOTRAZZINFRAZZINMISERABLELONGE)
@ENC(AREDGALOOTRAZZINFRAZZINMISERABLELONGEAREDGALOOTRAZZINFRAZZINMISE)
@ENC(RABLELONGEAREDGALOOTRAZZINFRAZZINMISERABLELONGEAREDGALOOTRAZZINF)
@ENC(RAZZINMISERABLELONGEAREDGALOOTRAZZINMISERABLELONGEAREDGALOOTRAZZ)
@ENC(INFRAZZINMISERABLELONGEAREDGALOOTRAZZINMISERABLELONGEAREDGALOOTR)
@ENC(AZZINFRAZZINMISERABLELONGEAREDGALOOTRAZZINMISERABLELONGEAREDGALO)
@ENC(OTRAZZIN)
-----END PUBLIC KEY-----