如何编码Jaysypt密码

时间:2014-04-21 19:33:51

标签: java spring hibernate jasypt

目前,我正在为我的jsypt条目做好准备,如下所示。我在一些例子中看到,而不是放置使用ENC的纯文本(G6N718UuyPE5bHyWKyuLQSm02auQPUtm)。

 <bean id="strongEncryptor"   class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="algorithm">
  <value>PBEWithMD5AndTripleDES</value>
</property>
<property name="password">
  <value>jasypt</value>
</property>
</bean>

请为我提供ENC(G6N718UuyPE5bHyWKyuLQSm02auQPUtm)的步骤。如何获取与我的密码相关的值G6N718UuyPE5bHyWKyuLQSm02auQPUtm

1 个答案:

答案 0 :(得分:0)

如果这是服务器端应用程序,则所有密码都应存储为密码哈希值。您绝不应该以明文形式存储密码。您应该在对密码进行哈希处理之前对其进行加密,以增加安全性。

此外,您不应加密明文密码。这是因为如果攻击者利用您的计算机,他们可能已经拥有了用于加密密码的加密密钥。哈希是更安全的,因为你不能“取消”密码。

我的建议:

  

String password = hashFunc(password + username + salt);

然后存储这样的密码。使用SHA-2散列可以获得可靠的安全性。

这样当你从客户端收到密码时,你所要做的就是散列密码并比较哈希值。