加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

对于(PHP 5 <5.5.0),password_hash()的替代方法是什么?

发布时间:2020-12-13 13:37:58 所属栏目:PHP教程 来源:网络整理
导读:根据手册: 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
根据手册: 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.相信我,这不是你想要尝试的东西,没有认真的研究和考虑.

建议使用新的password_ * API,但是如果您需要支持PHP版本较旧的PHP版本,则可能会遇到问题

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读