【发布时间】:2011-12-29 07:05:23
【问题描述】:
我正在编写一个脚本并且需要保存密码。出于开发目的,我一直在使用 crypt() 函数,因为它简单易用。现在我已经基本完成了,我想用更好、更一致的东西来替换它。
我的一些担忧是:
- 并非每个系统都支持所有算法
- 有时盐会预先添加到结果中(似乎是一个安全问题)
我想要一些适用于 PHP 4.3+ 的东西。
有什么可用的吗,还是我应该坚持使用crypt()?我考虑过使用md5(md5($password).$salt)。感谢您的洞察力。
【问题讨论】:
-
你想要“比
crypt()更好的东西”并且你提出双 md5? -
我参与过使用 md5 和 sha1 的项目(不一起使用)。更多关于 sha1 的信息:us.php.net/sha1
-
盐是前置的,因为没有它,您不能使用相同的盐来散列您要检查的密码。这不是安全问题;事实上,如果你的哈希是唯一加盐的(它们应该是),它就必须存在。
-
如果您曾经必须使用 PHP4,那么您或您的老板正在做一些非常、非常错误的事情!
-
@steveo:我可以弄清楚,因为您必须弄清楚才能对用户进行身份验证。如果我可以访问你的数据库,那么很可能我已经拥有你的服务器了。