首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的主机提供的哈希的最佳算法

我的主机提供的哈希的最佳算法
EN

Stack Overflow用户
提问于 2011-09-20 01:43:37
回答 3查看 228关注 0票数 0

我正在寻找一种好的单向加密/散列,用于安全存储密码,使用我的主机提供的算法之一。

下面是由主机提供的所有算法的列表:http://www.eresig.tk/hash.php

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-20 01:48:07

以上都不是。通用散列函数的问题是它们速度很快,这意味着攻击者可以非常快地破解大量密码,随着计算机变得更快,前景看起来更加黯淡。

取而代之的是bcrypt,它内置在PHP中,支持从5.3.0开始的所有平台。如果你使用的是一个老版本的PHP,你可以用Suhosin patch设置bcrypt。

bcrypt的优点是它有一个工作因子,您可以设置该因子来减慢散列过程。如果你多花一点时间检查给定的密码是否有效,你并不会过分担心,但攻击者破解密码所需的时间会长得多。

如果你想超越这一点,你可能还想看看scrypt

票数 8
EN

Stack Overflow用户

发布于 2011-09-20 02:28:20

SHA-256对于密码散列来说已经足够了,只需确保为每个用户使用不同的编辑盐即可。盐可以是用户的ID、“创建于”时间戳、绑定到该用户的GUID,等等……在散列之前,您需要将盐附加到纯文本密码中。

强制实施某种密码“最佳实践”将有助于避免任何暴力破解攻击。不允许用户使用弱密码(少于N个字符,仅包含1个字符集中的字符,等等)。

票数 1
EN

Stack Overflow用户

发布于 2011-09-20 02:41:05

散列问题在这个狂热的程序员网站上被夸大了。在散列密码方面,任何算法都足够了。特别是当这个问题与通常的php应用程序的其他部分相比时。在通常的PHP站点上使用一些强哈希就像在稻草屋的纸门上使用安全锁一样。

如果你真的想保护用户密码不被窃取使用你的网站上的一些漏洞(虽然这样的漏洞你应该更加关注),然后暴力强制,然后在其他网站上用来对付这些用户,那么你真正应该关心的是密码强度和salt,而不是散列算法本身。没有散列技术可以保护像"1234“或"joe”这样的愚蠢传递。

因此,md5 + strong password + average saltusual password + super-extra-cool_hash更好,而且已经足够了。

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

https://stackoverflow.com/questions/7475030

复制
相关文章

相似问题

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