jasypt-Spring-boot-1.17:属性解密失败,请确保加密/解密密码匹配 [英] jasypt-spring-boot-1.17: Decryption of Properties failed, make sure encryption/decryption passwords match
问题描述
我的jasypt-Spring-boot-1.17是Spring版本"4.2.5.RELEASE"和Spring Boot版本"1.5.3.RELEASE"。
我使用的是此网站的第一个方法(https://github.com/ulisesbocchio/jasypt-spring-boot),因为我在应用程序.java类中使用了@SpringBootApplication。
我做了第一次测试。 1.我在ApplicationMain.java中使用了这个符号@PropertySource("classpath:sampleservices.yml")或@PropertySource("classpath:sampleservices.properties")。 2.我将ENC()密码保存在一个单独的文件中,即sampleservices.yml或sampleservices.properties。 3.我在我的applation.yml文件中定义了以下代码。我在环境变量中设置了JASYPT_ENCRYPTOR_PASSWORD的普通密码值。测试是成功的。 jasypt: 加密器: Bean:加密Bean 密码:${JASYPT_ENCRYPTOR_PASSWORD:}
但是,真正加密的ENC()密码以以下嵌套方式存储在我的application.yml文件中。请让我知道我应该具体实现什么,才能使解密过程成功进行。我需要使用此解密密码登录到数据库。我确实更改了此代码@PropertySource("application ation.yml"),但我不知道如何进入此处的密码字段。
来自application ation.yml文件: 弹簧: 纵断面:样例 数据源: 驱动程序类名称:com.mysql.jdbc.Driver 网址:jdbc:mysql:abc 用户名:userID 密码:enc(Xxxxxxxx)
I kept getting this error.
com.ulisesbocchio.jasyptspringboot.exception.DecryptionException: Decryption of Properties failed, make sure encryption/decryption passwords match
at com.ulisesbocchio.jasyptspringboot.resolver.DefaultPropertyResolver.resolvePropertyValue(DefaultPropertyResolver.java:37) ~[jasypt-spring-boot-1.17.jar!/:?]
Thanks a lot!
推荐答案
我在Spring Boot 2.1.3上也遇到过同样的问题。但后来我发现这只是我的愚蠢的案子。我只是在";输入";和";password";参数含义之间理解错误。当我在命令提示符下加密时,我认为";input";表示密钥,然后在运行应用程序时在其中两个密钥之间交换值。
所以,请记住:
如果这不是您的根本原因,则需要考虑的另一件事是,当您在Windows上加密密码时,它可能无法在Linux上使用。当需要在Linux上运行应用程序时,您可能必须在Linux上进行加密。input=[您的真实密码]
密码=[是jasypt密钥]
这篇关于jasypt-Spring-boot-1.17:属性解密失败,请确保加密/解密密码匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!