为什么jasypt PBE在服务器上不起作用,但是在本地起作用?

时间:2018-10-25 18:47:37

标签: spring-boot password-encryption jasypt

我有一个spring-boot(2.0.1)应用程序,该应用程序使用jasypt加密密码。我使用jasypt / bin中的crypto.sh脚本对密码进行加密。当我在本地计算机上运行(通过IntelliJ)时,没有问题。当我制作一个jar并在Linux服务器上运行它时,我会不断获得带有密码的BindingExceptions(使用ConfigurationProperties)。

密码使用PBEWithMD5AndDES算法加密。我在运行时将密码和算法放在本地IntelliJ上的参数中,并且作为jave -jar命令的一部分。

当我使用相同的参数连续两次运行crypto.sh脚本时,对于相同的输入和密码,我将获得不同的加密。相同的输入不应该返回相同的加密吗?

1 个答案:

答案 0 :(得分:0)

我在Java IDE中通过Java VM传递参数的方式与在jar上使用的方式相同,这就是问题所在。通过虚拟机,我使用-Dsome.property并尝试对jar执行相同操作,而不是--some.property,这是使用Spring Boot的正确方法。