首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MD5和密码的对比?

MD5和密码的对比?
EN

Stack Overflow用户
提问于 2011-12-27 06:26:01
回答 3查看 300关注 0票数 0

我正在为一个站点构建一个受密码保护的登录系统,并且我遇到了两个MySQL函数来加密用户的密码:MD5()ENCODE()

他们两个人似乎都加密了,但我想用哪个更安全。这里是否有明确的赢家,还是仅仅是一种偏好情况?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-27 06:37:26

以下是对每个人所做工作的简要说明:

  • 编码:编码(不加密)字符串,也可以解码。任何能够运行解码的人都可以访问密码。
  • MD5:加密字符串,不应该解密。确定密码是否正确的方法是比较这两个加密字符串。但是,不应该使用算法存在严重缺陷
  • SHA2 (string,512):加密字符串,不应该解密。确定密码是否正确的方法是比较这两个加密字符串。这个算法远比MD5强得多。

当涉及到使用散列(单向加密)时,用盐腌你的哈希是一个很好的实践。这样可以防止潜在攻击者使用已知哈希数据库快速发现密码。

简而言之,编码是完全不安全的,MD5是不安全的,而使用salt的SHA2(string,512)也是一个不错的选择。

票数 2
EN

Stack Overflow用户

发布于 2011-12-27 06:27:19

使用bcrypt。不要使用md5()encode()

票数 3
EN

Stack Overflow用户

发布于 2011-12-27 06:37:23

像MD5、SHA1这样的算法并不是加密,而是将任意长度的源文本哈希为固定长度的输出字符串。不要用它们来保护用户的密码。

让我告诉你一个好办法。问一个秘密的问题。这个秘密问题的答案将是我们密码加密算法的密钥。现在,您可以使用MD5或其他什么工具来散列这个答案。现在,使用此哈希作为秘密密钥加密密码(使用对称密钥算法,如AES)。这将在某种程度上有所帮助,这样如果用户忘记了他的密码,那么只有该用户,而不是其他人将能够恢复密码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8641796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档