我试图使用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
答案 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
是加密密钥,您需要将密码解密为纯文本。