thinkphp6: 用bcrypt加密生成密码(php 8.1.1 / thinkphp v6.0.10LTS )


一,使用bcrypt实现加密和验证的php代码:

class Auth extends BaseController
{
    /*
     *测试用bcrypt方式验证密码
     *
     *@return \think\Response
     * */
    public function testPass() {
        //原始密码
        $origPass = "123456";
        echo "origPass:".$origPass.":
”; //加密
$bcryptPass = password_hash($origPass, PASSWORD_DEFAULT); echo "password:".$bcryptPass.":
"; //判断密码是否匹配 if (password_verify($origPass,$bcryptPass)) { echo "密码正确"; } else { echo "密码错误"; } echo "
"; if (password_verify("123321",$bcryptPass)) { echo "密码正确"; } else { echo "密码错误"; } } }

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/
         或: https://gitee.com/liuhongdi

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,测试bcrypt效果

访问:
http://192.168.219.6:8000/auth/testpass

返回:

刷新:   多刷新两次,可以发现每次加密后的密文都不一样,这样就加大了破解和碰撞的难度

三,查看php和thinkphp的版本: 

php:
liuhongdi@lhdpc:/data/php/admapi$ php --version
PHP 8.1.1 (cli) (built: Dec 20 2021 16:12:16) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.1, Copyright (c), by Zend Technologies 
thinkphp:
liuhongdi@lhdpc:/var/www/html$ cd /data/php/admapi/
liuhongdi@lhdpc:/data/php/admapi$ php think version
v6.0.10LTS