我正在编写脚本并需要保存密码。出于开发目的,我一直在使用crypt()
函数,因为它很简单且可用。现在我已经完成了,我想用一些更好,更一致的东西来代替它。
我所担心的一些问题是:
我想要一些适用于PHP 4.3 +的东西。
有什么可用的,还是我应该坚持使用crypt()
?我考虑过使用md5(md5($password).$salt)
。感谢您的见解。
答案 0 :(得分:6)
crypt
如果您的服务器不支持,请使用其他服务器。
从不 使用MD5进行散列密码(甚至是SHA1)
使用bcrypt(crypt
的河豚方法)或pbkdf2
这里有一个pbkdf2的实现: Encrypting Passwords with PHP for Storage Using the RSA PBKDF2 Standard
有关此处原因和方式的更多信息:
答案 1 :(得分:4)
首先:预先加盐不是安全问题。拥有每个密码的盐是一个很大的好东西,并且它与pw一起存放是完全可以的。
现在:只要您不将密码哈希值从一个系统传输到另一个系统,而后者不支持第一个系统的默认算法,定义就不会发生任何坏事。从PHP 5.3开始,PHP中有内置算法,如Blowfish,保证可用。