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

抛弃salt,使用password_hash()加密

高老师7年前 (2018-03-20)PHP6740

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()加密” 的相关文章

ThinkPHP3.2.3整合PHPExcel

ThinkPHP3.2.3整合PHPExcel

ThinkPHP3.2.3整合PHPExcelThinkPHP整合PHPEXCEL的详细做法:第一步:下载PHPEXCEL文件(这个可以百度下载)第二步:解压这个文件,把这里全部的文件复制到 ThinkPHP/Library/Org/Util这个文件夹下面(如图所示), 并把 PHPExc...

php生成验证码

php生成验证码

<?php //高先生简单验证码. //随机数 //为什么循环0-15的数字 //因为要实现最简单的字母和数字混搭 //16进制0-9   a-f //dechex 十进制转换为16进制 //创建一个四位的验证码. //$nmsg.  ...

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创建webservice,php搭建webservice,php编写webservice

php创建webservice,php搭建webservice,php编写webservice

第一步:服务端文件<?php $wsdlfile='webservice.wsdl'; ini_set('soap.wsdl_cache_enabled','0');    //关闭WSDL缓存 //001...

 php xml字符串转数组,phpxml转数组,php 将xml转换成数组

php xml字符串转数组,phpxml转数组,php 将xml转换成数组

001源码:/*  * $xml_str是xml字符串  */ function  xmltoarray($xml_str) { //禁止XML实体扩展攻击 libxml_disable_entity_loader(true); //拒绝包含...

php多进程实现任务管理器,定时执行任务,支持守护

php多进程实现任务管理器,定时执行任务,支持守护

主要原理是通过PHP创建多个子进程,在子进程中发送进程闹钟信号,然后再监听闹钟信号中继续发送闹钟信号。同时通过父进程设置非阻塞运行。代码如下:<?php /**  * 订单任务  */ class Order {    &n...