如何存储密码?

时间:2014-12-03 14:12:18

标签: java mysql jsp encryption password-encryption

我在jsp中创建了一个登录页面。

用户名和密码存储在mysql中。

我想要一些加密密码的建议,然后解密密码(以验证密码标签中的内容是否与该用户名的数据库中的内容相同)。

2 个答案:

答案 0 :(得分:4)

在将密码保存到数据库之前,请使用散列(MD5或SHA256)并将散列值存储在数据库表中。

登录时,获取用户密码并使用相同的技术再次哈希,并与此特定用户的数据库表中存储的哈希密码匹配。如果这两个哈希值匹配,那么它是正确的密码,否则密码不匹配。

答案 1 :(得分:1)

仅在必要时加密和解密密码(例如,您要检查6个pw-digits中的3个)。

如果您只想检查密码,请保存哈希码,然后只比较哈希码。

查看MD5,这是一个源代码段:

MessageDigest md = MessageDigest.getInstance("MD5");