文档章节

使用PHP password_hash()加密,再也不怕被拖库了

李文凯
 李文凯
发布于 2017/06/15 09:05
字数 301
阅读 22
收藏 0

你还在用md5+salt方式加密密码吗?PHP5.5引入了Password Hashing函数,内核自带无需安装扩展。在PHP5.4下测试了下也可是可以的,使用前最好确认一下你当前的环境是否支持这些函数。
Password Hashing主要提供了4个函数

 
  1. //查看哈希值的相关信息
  2. array password_get_info (string $hash)
  3.  
  4. //创建hash密码
  5. string password_hash(string $password , integer $algo [, array $options ])
  6.  
  7. //判断hash密码是否特定选项、算法所创建
  8. boolean password_needs_rehash (string $hash , integer $algo [, array $options ]
  9.  
  10. boolean password_verify (string $password , string $hash)
  11. //验证密码
  12.  
  13.  
  14.  
  15. $password = 'password123456';//原始密码
  16. $hash_password = password_hash($password, PASSWORD_BCRYPT);//使用BCRYPT算法加密密码
  17. if (password_verify($password , $hash_password)){
  18. echo "密码匹配";
  19. }else{
  20. echo "密码错误";
  21. }

通过password_hash加密后的密码,使用字典方式很难破解,因为每次生成的密码都是不一样的,破解这种加密只能采用暴力破解。加密方法再好,原始密码设置的过于简单都容易被破解,设置复杂的密码才是王道。

如果你觉得眼前需要更好的提高你可以来千锋学PHP,国内排名第一的PHP机构。

© 著作权归作者所有

李文凯
粉丝 2
博文 26
码字总数 30244
作品 0
东城
私信 提问
如何安全存储口令?了解下Hash加盐的原理

最近要开发一个项目,其中涉及到了用户口令存储(大家习惯称之为密码),毫不夸张的说,如果方案设计的不合格,未来再想补救就会困难重重。 以前研究了很多密码学算法,和口令加密有关的算法...

虞大胆
01/30
0
0
“智能”悄然主宰世界?“安全”决不罢休? 亿赛通新品双重亮相

    【IT168 资讯】在互联网迅猛发展的时代,信息泄露事件逐年成倍增长,信息安全是如今社会人们关注的焦点。近年,互联网、大数据、云计算、人工智能是发展热潮,数据安全行业必须结合新...

it168网站
2017/09/04
0
0
由拖库攻击谈Discuz口令字段的加密策略

先转一篇文章: 安全崩盘的年代:由拖库攻击谈口令字段的加密策略 http://www.leiphone.com/no-safe.html 节选 编者按:本文作者肖新光,网络ID江海客,安天实验室首席技术架构师,研究方向为...

mark35
2011/12/31
1K
15
用户密码安全性设计

1:浅谈密码加SALT原理 我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码。   加Salt可以一定程...

happy_limit
2016/12/08
346
0
PHP比md5更安全的加密方式--哈希密码

传统加密方式: md5(密码+盐值); 从理论上来说,md5不可逆,算是一种比较安全的加密方式。但是我要提醒的是,md5早在04年的时候就被中国人破解(请自行搜索山东大学王小云)。一旦被人拖库的化,...

余二五
2017/11/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
4
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部