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