目前,我正在为我的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
答案 0 :(得分:0)
如果这是服务器端应用程序,则所有密码都应存储为密码哈希值。您绝不应该以明文形式存储密码。您应该在对密码进行哈希处理之前对其进行加密,以增加安全性。
此外,您不应加密明文密码。这是因为如果攻击者利用您的计算机,他们可能已经拥有了用于加密密码的加密密钥。哈希是更安全的,因为你不能“取消”密码。
我的建议:
String password = hashFunc(password + username + salt);
然后存储这样的密码。使用SHA-2散列可以获得可靠的安全性。
这样当你从客户端收到密码时,你所要做的就是散列密码并比较哈希值。