什么是最安全的散列方法? (PHP)

时间:2010-11-27 13:29:48

标签: php hash

我刚刚注意到我的PHP安装中有SHA512。它比SHA1更安全吗?它是最安全的散列方法(我需要密码,而不是文件完整性检查)?

4 个答案:

答案 0 :(得分:4)

为了回应@Buddy,在散列时速度不是你的朋友;越慢越好。如果有人试图强行输入您的密码,那么需要很长时间的算法将意味着黑客需要很长时间。

答案 1 :(得分:3)

Sha512更好..我也建议使用salt

另见:Secure hash and salt for PHP passwords

答案 2 :(得分:2)

很久以前我问了这个问题。

答案是始终使用专为此设计的算法,并且已经通过了时间的考验。

目前,该算法将是bcrypt(还有2个,但我不记得他们的名字)。每种语言都有bcrypt实现,所以只需找到一个并使用它。如果计算机的速度越来越快(这会削弱你的哈希值),你可以增加用于使其变慢的轮数(它随硬件而变化)。

md5,sha1,sha512等:他们吮吸密码。他们吮吸多少钱?您可以使用笔记本电脑在几小时甚至几秒内强制平均长度密码。没关系,它们不是为保护密码而设计的。它们仍可用作加密原语,例如:您可以使用md5实现bcrypt。

答案 3 :(得分:0)

您可以尝试This Link,它是一个用于执行随机生成的盐哈希的库,这是最安全的密码哈希和用户身份验证方法之一。