Mar*_*ark 14 php security passwords hash php-password-hash
根据手册: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)), 0, 22);
return crypt($password, $salt);
}
}
Run Code Online (Sandbox Code Playgroud)
我可以在使用function_exists前管理我的代码,但我的问题是关于上面的替代代码,如果它的安全与否,或者在旧版本的PHP中有没有其他选择?
Mar*_*ark 18
对于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.相信我,如果没有认真的研究和考虑,这不是你想要尝试的事情.
password_*建议使用新的API,但是如果你需要支持旧版本的PHP,这可能是有问题的,这就是PHPass的用武之地.想要用PHP 5.2讨厌那些每月1美元的托管计划
对于PHP> 5.3.7但在5.5.0之前的版本,您可以在https://github.com/ircmaxell/password_compat上找到password_hash的实现,该实现由开发了现在在PHP 5.5.0中实现的版本的人编写. +并故意提供向后兼容性
| 归档时间: |
|
| 查看次数: |
9399 次 |
| 最近记录: |