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

时间:2016-04-26 18:44:31

标签: spring hibernate encryption jasypt

我试图使用jasypt来加密我们的属性文件中的一些密码。我遵循jasypt网站上的指南,但我认为我搞乱了密码。我希望有人可以告诉我我做得对或做错了。现在......当我启动我的jboss服务器时,我得到一个"无效的用户名/密码"尝试命中数据库时出错。解密失败或我的设置错误。 以下是设置方式。

我按如下方式生成了加密密码:

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:我假设我的数据库密码进入"输入"。如果是这样......那么用于??

的密码字段是什么

我的persistence.xml:

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

我的春豆:

<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:我假设&#34;密码&#34;来自encrypt命令的字段在这里?我无法想象我的数据库密码会在这里,因为这会破坏加密的目的。但话又说回来......文档真的没有说出这个价值是什么或者是什么。

感谢任何可以提供帮助的人!

-Blake

1 个答案:

答案 0 :(得分:0)

您也应该提供算法。

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

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

要使用PBEWithMD5AndTripleDES,您需要在JDK中安装JCE Unlimited Strength Jurisdiction Policy

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