密码散列算法
程序员文章站
2022-06-16 08:11:35
密码散列算法是password扩展,他是PHP核心的一部分,不需要单独安装这个库是专门对密码做hash运算与校验的。大家都知道,用户注册设置的密码需要存储在数据库,很多老项目都是把密码就行md5运算然后存储到数据库表中,但是由于现在计算机硬件性能提升,md5算法已经不再安全,那么应该用什么算法呢?对密码进行hash运算并校验
密码散列算法是
password
扩展,他是PHP核心的一部分,不需要单独安装
这个库是专门对密码做
hash
运算与校验的。
大家都知道,用户注册设置的密码需要存储在数据库,很多老项目都是把密码就行
md5
运算然后存储到数据库表中,但是由于现在计算机硬件性能提升,md5
算法已经不再安全,那么应该用什么算法呢?
对密码进行
hash
运算并校验
<?php
//对密码进行hash运算,算法采用PASSWORD_BCRYPT
$hash = password_hash('jhq23123', PASSWORD_BCRYPT);
//校验密码hash值
$verifyResult = password_verify('jhq23123', $hash);
var_dump($hash, $verifyResult);
以上例程运行结果
string(60) "$2y$10$wqw6FoTl8sYk8r/lvCkvo.nGBRg42OQNFD2BLPt9nfkUnsr7GKgR2"
bool(true)
需要注意的是,每次运行产生的
hash
值是不一样的。
看到这里,我们可以发现,我们如果把密码的hash值存储在数据库中,破解的难度是不是很难了,这也是PHP官方推荐大家使用的密码加密算法。
学习更多内容: https://404.360tryst.com
我的视频课程: https://edu.csdn.net/course/detail/9933
本文地址:https://blog.csdn.net/jhq0113/article/details/107632946
下一篇: C#实现银行家算法