哪种加密方法最好基于64或MD5?

svk*_*svk 5 encryption

我目前正在使用MD5加密将密码存储在数据库中.我们之前没有密码重置功能.但现在我们正在实施它.所以我无法解密MD5并将密码发送给用户.但是我可以做,如果它是在base64加密的.现在我有点困惑,这是最好的加密方法.
我已经对强密码进行了客户端验证(如8个字符长度,特殊字符等).

pka*_*ing 20

Base 64不是加密机制,它是一种编码方案.它很容易逆转,因此它不是保护关键数据的好选择.

密码的常用方法是使用类似MD5的方法对它们进行哈希处理,然后存储哈希值.当用户再次登录时,对输入密码进行散列,并将其与存储的散列进行比较.

如果用户忘记了密码,你就不应该告诉他这是什么密码.相反,允许他将其重置为其他东西(可能是他能记住的东西).

另外,正如@Phil Brown所提到的,MD5不被认为是一种强大的加密机制.SHA-1更适合这项任务.

Base 64编码通常用于通过仅允许ASCII文本的机制传输二进制数据.

  • 忘记密码的常用方法是重置密码,向用户发送新密码并强制他们在登录时更改密码.此外,SHA1是比MD5更强的散列算法 (4认同)
  • @vinothkumar:你不知道。您会为他们随机生成一个全新的密码-而不是他们的选择。此外,一旦他们重置了密码,如果他们在一段时间后仍无法更改密码,我会考虑锁定帐户,因为电子邮件以明文形式发送。 (2认同)

wkl*_*wkl 7

Base64不是加密,它是一种易于反转的编码机制.MD5是一种单向加密哈希,但不建议使用它,因为它在加密方面很弱.

根据您的需要,您可能希望存储密码的哈希值(最好使用salt),可能使用SHA-256或更好.当用户忘记密码时,您会为他们生成一个随机的一次性密码,并强制他们重新创建密码,或者在验证一些凭据后让他们这样做.


cas*_*nca 5

Base64和MD5 不是加密方法。Base64只是一种编码字符的方式,它绝对不提供安全性-与以纯文本存储密码一样好。MD5是哈希函数,这意味着它是单向的并且不能解密。

散列绝对是必经之路。MD5可以,但是您应该切换到更安全的功能,例如SHA-256。

至于“忘记密码”功能,切勿存储用户密码并将其发送回给他们。而是为他们生成一个(随机)临时密码,以便他们可以登录和更改它。