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 相关文章推荐
Mysql的常用命令
Oct 09 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
Nov 30 PHP
QueryPath PHP 中的jQuery
Apr 11 PHP
处理单名多值表单的详解
Jun 08 PHP
分割GBK中文遭遇乱码的解决方法
Aug 09 PHP
ThinkPHP之用户注册登录留言完整实例
Jul 22 PHP
你应该知道PHP浮点数知识
May 13 PHP
php编写简单的文章发布程序
Jun 18 PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 PHP
Laravel SQL语句记录方式(推荐)
May 26 PHP
PHP判断一个数组是另一个数组子集的方法详解
Jul 31 PHP
php获取用户真实IP和防刷机制的实例代码
Nov 28 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的一个基础知识 表单提交
2011/07/04 PHP
ajax返回值中有回车换行、空格的解决方法分享
2013/10/24 PHP
百度实时推送api接口应用示例
2014/10/21 PHP
jquery 使用点滴函数代码
2011/05/20 Javascript
瀑布流布局并自动加载实现代码
2013/03/12 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
jQuery插件实现控制网页元素动态居中显示
2015/03/24 Javascript
JS实现带鼠标效果的头像及文章列表代码
2015/09/27 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
2016/09/04 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
关于Vue Webpack2单元测试示例详解
2017/08/14 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
element-ui使用导航栏跳转路由的用法详解
2018/08/22 Javascript
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
pyspark 读取csv文件创建DataFrame的两种方法
2018/06/07 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
python使用matplotlib绘制折线图的示例代码
2020/09/22 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
Stefania Mode英国:奢华设计师和时尚服装
2017/10/23 全球购物
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
2014年大学生就业规划书
2014/04/04 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
企业安全标语
2014/06/07 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
装修公司管理制度
2015/08/05 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
vue+spring boot实现校验码功能
2021/05/27 Vue.js
Java面试题冲刺第十五天--设计模式
2021/08/07 面试题
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL