php用户名的密码加密更安全的方法


Posted in PHP onJune 21, 2019

php中对用户密码的加密主要有两种方法,一种是利用md5加密,另一种是利用password_hash加密,两种方法中后一种的方法比前一种方法安全很多,几乎不能被黑客破解,但php版本必须在5.5以上。下面介绍两种加密方法如何加密才更安全。

新建一个PHP文件,命名为test.php。

php用户名的密码加密更安全的方法

利用md5加密。为了更加安全,可以给用户密码加上随机字符串再使用md5加密,产生随机字符串的函数如下:

php用户名的密码加密更安全的方法

假如用户的密码$password为123456,则可以把123456加上随机字符串传入md5函数中进行加密。随机字符串和用户密码都存储在数据库中,当解密的时候可以使用进行判断密码是否正确。

php用户名的密码加密更安全的方法

1、/4PHP版本在5.5以上的更安全的加密方式

新建一个php文件,命名为test2.php

php用户名的密码加密更安全的方法

使用password_hash()方法对密码进行加密,这是目前PHP最为安全的加密方式。假如用户密码为123456,加密方式如下:

php用户名的密码加密更安全的方法

由上面代码可见,加密的过程是很简单的,由于使用 bcrypt 算法,密码会随着PHP版本的不同,长度也会不同。因此,数据库里储存密码的字段最好是255个字符,可以避免出错。

php用户名的密码加密更安全的方法

password_hash解密的方式是通过password_verify()方法来解密的,假如数据库存储的密码为$db_password,则解密方法如下:

php用户名的密码加密更安全的方法

PHP 相关文章推荐
php调用mysql存储过程
Feb 14 PHP
php+mysql写的简单留言本实例代码
Jul 25 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
Mar 09 PHP
php中获取远程客户端的真实ip地址的方法
Aug 03 PHP
php中使用DOM类读取XML文件的实现代码
Dec 14 PHP
逆序二维数组插入一元素的php代码
Jun 08 PHP
利用curl抓取远程页面内容的示例代码
Jul 23 PHP
避免Smarty与CSS语法冲突的方法
Mar 02 PHP
SESSION存放在数据库用法实例
Aug 08 PHP
PHP请求Socket接口测试实例
Aug 12 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
Oct 19 PHP
Referer原理与图片防盗链实现方法详解
Jul 03 PHP
php常用字符串查找函数strstr()与strpos()实例分析
Jun 21 #PHP
php精度计算的问题解析
Jun 21 #PHP
laravel异步监控定时调度器实例详解
Jun 21 #PHP
apache集成php7.3.5的详细步骤
Jun 20 #PHP
PHP基础之输出缓冲区基本概念、原理分析
Jun 19 #PHP
PHP进阶学习之Geo的地图定位算法详解
Jun 19 #PHP
PHP进阶学习之依赖注入与Ioc容器详解
Jun 19 #PHP
You might like
用在PHP里的JS打印函数
2006/10/09 PHP
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
2018/05/29 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
jQuery实现可编辑的表格实例讲解(2)
2015/09/17 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
2016/03/30 Javascript
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
在一个页面重复使用一个js函数的方法详解
2016/12/26 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
微信小程序--组件(swiper)详细介绍
2017/06/13 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
详解使用mpvue开发github小程序总结
2018/07/25 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
在Python中使用swapCase()方法转换大小写的教程
2015/05/20 Python
Python模拟脉冲星伪信号频率实例代码
2018/01/03 Python
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
python 并发下载器实现方法示例
2019/11/22 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
聊聊python中的循环遍历
2020/09/07 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
优秀研究生自我鉴定
2013/12/04 职场文书
2014法院干警廉洁警示教育思想汇报
2014/09/13 职场文书
房屋租房协议书范本
2014/12/04 职场文书
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python