0

我有一个人们可以登录的框架,我还有一个管理员可以添加用户(员工)的框架。我知道如何在使用 MD5 哈希添加用户时加密密码(在 jPasswordField 中给出)等等。但我不知道如何解密它。我今天用谷歌搜索了我的眼睛,但没有找到解决方案。

(为了保持这个线程井井有条,我已将代码发布在代码粘贴项中)。

登录框架: http ://codepaste.net/j6imgd

添加框架: http ://codepaste.net/v4744v

如果有人可以帮助我,将不胜感激。

4

4 回答 4

0

这可能会对您有所帮助:如何构建登录系统。

您要做的是对用户密码进行哈希处理,将其存储在数据库中,然后当用户登录时,您对他们输入的密码进行哈希处理,并将其与存储在数据库中的密码进行比较。如果它们匹配,则密码相同。请注意,您不应该使用 MD5 考虑使用带有盐的 SHA 512,如上面的链接所示,这是我使用的,这是一个非常有用的描述。

于 2013-01-29T13:27:44.867 回答
0

作为哈希,不要使用 MD5。MD5 已被破坏,如果攻击者掌握了您的哈希值,他将能够计算出明文密码是什么。有一些技术可以使普通哈希算法更安全(例如使用盐),但 MD5 实在是太糟糕了。

所以是的,使用哈希,这是一种单向加密(即您无法解密)密码。您不需要解密它们,因为如果用户输入正确的密码,它将产生相同的哈希值。

这是一个讨论 MD5 替代方案的问题。

于 2013-01-29T13:25:45.127 回答
0

诸如 MD5 之类的散列(我希望您没有使用普通的 MD5 来存储密码)是单向的。

您要做的只是将用户密码的哈希值与他们输入的内容进行比较。

如果用户的密码是“kitten”并且 - 暂时让我们假设您正在使用不安全的 MD5 - 您已将其哈希值“6da89cd09ab7937478a1d47d20938536”存储在您的用户数据库中,您只需要检查用户在登录时输入的密码的哈希值与之匹配。

于 2013-01-29T13:15:15.377 回答
0

实际上 MD5 是一种单向加密。如果要使密码可解密,则应使用其他算法进行加密和解密。

于 2013-01-29T13:16:53.317 回答