欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

密码散列算法

程序员文章站 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