根据手册:
password_hash这个功能可以用于(PHP 5> = 5.5.0)
在寻找另一种方式之后,我发现了这个简单的功能:http://www.sitepoint.com/password-hashing-in-php/
function generateHash($password) { if (defined("CRYPT_BLOWFISH") && CRYPT_BLOWFISH) { $salt = '$2y$11$' . substr(md5(uniqid(rand(),true)),22); return crypt($password,$salt); } }
我可以在使用之前使用function_exists管理我的代码,但是我的问题是关于上面的替代代码,如果它是安全的还是不安全的,还是在老版本的PHP中有任何替代方法?
对于PHP版本< 5.3.7,我建议:
http://www.openwall.com/phpass/
对于PHP版本> = 5.3.7,请使用:
https://github.com/ircmaxell/password_compat
生成你自己的盐需要很多知道如何,因为一个好的,适当的盐需要大量的熵.在PHP生成这个盐是麻烦的,这就是为什么你通常会根据其他资源为你提供这个字符串,比如/ dev / urandom或openssl_random_pseudo_bytes.相信我,这不是你想要尝试的东西,没有认真的研究和考虑.