1

目前我正在维护我的 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

4

1 回答 1

0

如果这是服务器端应用程序,则所有密码都应存储为密码哈希。您永远不应该以明文形式存储密码。您应该在散列密码之前加盐以增加安全性。

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

我的建议:

字符串密码 = hashFunc(密码 + 用户名 + 盐);

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

这样,当您从客户端收到密码时,您所要做的就是对密码进行哈希处理并比较哈希值。

于 2014-04-21T19:44:26.053 回答