我在jsp中创建了一个登录页面。
用户名和密码存储在mysql中。
我想要一些加密密码的建议,然后解密密码(以验证密码标签中的内容是否与该用户名的数据库中的内容相同)。
答案 0 :(得分:4)
在将密码保存到数据库之前,请使用散列(MD5或SHA256)并将散列值存储在数据库表中。
登录时,获取用户密码并使用相同的技术再次哈希,并与此特定用户的数据库表中存储的哈希密码匹配。如果这两个哈希值匹配,那么它是正确的密码,否则密码不匹配。
答案 1 :(得分:1)
仅在必要时加密和解密密码(例如,您要检查6个pw-digits中的3个)。
如果您只想检查密码,请保存哈希码,然后只比较哈希码。
查看MD5,这是一个源代码段:
MessageDigest md = MessageDigest.getInstance("MD5");