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服务器
Oct 09 PHP
PHP安装攻略:常见问题解答(一)
Oct 09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
php cache类代码(php数据缓存类)
Apr 15 PHP
php获取本地图片文件并生成xml文件输出具体思路
Apr 27 PHP
CodeIgniter模板引擎使用实例
Jul 15 PHP
ThinkPHP模型详解
Jul 27 PHP
解决php表单重复提交实现方法
Sep 29 PHP
php实现网站文件批量压缩下载功能
Oct 28 PHP
PHP实现的随机IP函数【国内IP段】
Jul 20 PHP
Laravel中间件实现原理详解
Oct 09 PHP
Mac系统完美安装PHP7详细教程
Jun 06 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
CodeIgniter框架数据库基本操作示例
2018/05/24 PHP
javascript中对对层的控制
2006/12/29 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
JS脚本defer的作用示例介绍
2014/01/02 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
jQuery封装的tab选项卡插件分享
2015/06/16 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
2015/11/26 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
Node.js中的require.resolve方法使用简介
2017/04/23 Javascript
JS判断微信扫码的方法
2017/08/07 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
零基础写python爬虫之神器正则表达式
2014/11/06 Python
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
python开发之for循环操作实例详解
2015/11/12 Python
python中数据爬虫requests库使用方法详解
2018/02/11 Python
python统计指定目录内文件的代码行数
2019/09/19 Python
numpy.array 操作使用简单总结
2019/11/08 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
Python 解析xml文件的示例
2020/09/29 Python
基于Python爬取素材网站音频文件
2020/10/21 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
迪拜航空官方网站:flydubai
2017/04/20 全球购物
皮肤科医师岗位职责
2013/12/04 职场文书
个人承诺书
2014/03/26 职场文书
员工安全生产承诺书
2014/05/22 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
回复函格式及范文
2015/07/14 职场文书
Win10系统下配置Java环境变量
2021/06/13 Java/Android
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android