jasypt spring hibernate - 什么密码是什么?

jasypt spring hibernate - what password is what?

我正在尝试使用 jasypt 来加密我们属性文件中的一些密码。我正在按照 jasypt 网站上的指南进行操作,但我认为我弄乱了密码。我希望这里有人能告诉我我做对了还是做错了。现在...当我启动 jboss 服务器时,当它试图访问数据库时出现 "invalid username/password" 错误。解密失败或我的设置错误。 以下是设置方式。

我生成的加密密码如下:

c:\jasypt-1.9.2\bin\encrypt input=mydbpassword password=password   
----ENVIRONMENT----------------

Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 24.45-b08

-----ARGUMENTS-----------------
input: mydbpassword
password: password

------OUTPUT-------------------
N6Wz+z6fI24MagR5A4xNoH4gMh75Vo0

问题 #1:我假设我的数据库密码在 "input" 中。如果是...那么密码字段用于什么?

我的persistence.xml:

<property name="connection.provider_class" value="org.jasypt.hibernate.connectionprovider.EncryptedPasswordDriverManagementConnectionProvider" />
<property name="connection.encryptor_registered_name" value="configurationHibernateEncryptor" />

我的Spring豆:

<bean id="hibernateStringEncryptor"
class="org.jasypt.hibernate4.encryptor.HibernatePBEStringEncryptor">
<property name="registeredName">
    <value>strongHibernateStringEncryptor</value>
</property>
<property name="algorithm">
    <value>PBEWithMD5AndTripleDES</value>
</property>
<property name="password">
    <value>password</value>
</property>
</bean>

问题 #2:我假设加密命令中的 "password" 字段在这里?我无法想象我的数据库密码会放在这里,因为这违背了加密的目的。但话又说回来......文档确实没有说明该值是什么或现在是什么。

感谢任何能提供帮助的人!

-布莱克

你也应该提供算法。

c:\jasypt-1.9.2\bin\encrypt input=mydbpassword password=password algorithm=PBEWithMD5AndTripleDES

参考:http://www.jasypt.org/cli.html#Listing_algorithms

要使用 PBEWithMD5AndTripleDES,您需要将 JCE Unlimited Strength Jurisdiction Policy 安装到您的 JDK。

参数password是加密密钥,您需要将密码解密为纯文本。