当前位置:首页 > PHP > 正文内容

抛弃salt,使用password_hash()加密

高老师8年前 (2018-03-20)PHP7000

md5/sha1+salt方式是目前各大cms常用的加密方式,虽然salt安全,但是各大md5网站也在研究这个方向,那么我们应该选择password_hash动态hash来助力,一种密码有多种hash结果.看代码模拟登陆.

<?php
//01.注册
$user ='zhangsan';
$pass = '123456';
$hash = password_hash($pass, PASSWORD_DEFAULT);

//02.保存用户名和生成的随机hash到数据库,省略代码


//03.用户尝试用原来的密码登录
$pass = '123456';
if (password_verify($pass,$hash)) { 
	echo "登录成功!";
} else {  
 	echo "登录失败!";
}

//04.用户尝试用错误的密码登录
$pass = '654321';
if (password_verify($pass,$hash)) { 
	echo "登录成功!";
} else {  
 	echo "登录失败!";
}
?>

password_hash()创建的哈希密码更加安全,但是无法使用其他语言来验证

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/60.html

分享给朋友:

“抛弃salt,使用password_hash()加密” 的相关文章

PHP中Session文件过多的解决方法

PHP中Session文件过多的解决方法

PHP的session文件夹默认保存在同一个文件,随着访客的增多,访问的速度会非常慢,例如部分管理系统后台每天登陆1000次,1个月就创建了30000个session文件,一年后是多少?假设这个系统的用户是上万人呢?方法1:每个网站使用自己的session文件夹,代码如下:<?php $pat...

php调用 java webservice接口

php调用 java webservice接口

php调用Webservice基本语法如下:$url ='xxxxxxx.cn'  //链接服务器端 $client = new SoapClient($url);通过以上语法已经连接到webservice,也可将wsdl在本地使用,...

php scoket,php webscoket,php webscoket 服务器

php scoket,php webscoket,php webscoket 服务器

项目需要使用websocket推送最新订单,客户服务器非linux不支持swoole,因此使用原生,直接上代码(1).PHP服务端<?php ini_set('error_reporting', E_ALL ^ E_NOTICE); ini_set...

php redis队列实现秒杀 , php用redis 实现秒杀功能

php redis队列实现秒杀 , php用redis 实现秒杀功能

为什么使用队列?因为pop取队列具有原子性。假如我们需要秒杀一个商品id,我们先将商品的库存保存到一个队列。例如:<?php $redis = new Redis(); $redis->connect('127.0.0.1', 6...

php迭代器返回值,php yield getReturn

php迭代器返回值,php yield getReturn

php生成器的方法getReturn获取生成器迭代完成后的返回值,当生成器迭代完成会将生成器的返回值返回,因此如果迭代器未进行迭代是获取不到值的,如果你没有return值则返回null,参考代码:<?php function G1() {    &nbs...

php定时任务,php定时器,php定时器,php定时任务管理,php定时任务框架,php实现定时任务,php定时任务系统

php定时任务,php定时器,php定时器,php定时任务管理,php定时任务框架,php实现定时任务,php定时任务系统

        本教程使用的定时任务基于EasyTak实现,EasyTask官方参考文档:https://gitee.com/392223903/EasyTask首先我们必须明白PHP的定时器只能基于CLI命令行形式运行...