php密码的加密加盐处理
1、首先介绍一下常规的登录认证(非安全性)
l 数据库表如下所示:

<form action="index.jsp" method="post">
账 号:<input type="text" name="username"/><br/>
密 码:<input type="password" name="password"><br/><br/>
<input type="submit" value="提交"><br/>
</form>
l 用户通过表单提交用户名,密码两个字段查询数据库匹配,实现登录认证功能,但存在的安全隐患问题太多:
(1)数据库密码以明文的形式进行存储。
(2)数据传输的过程中未对数据进行加密处理。
2、针对以上两个问题进行分析和解决
l 安全加密:首先对数据库表的password字段进行摘要md5处理,sql语句如下:

l md5加密后的数据

l 数据库密码加密后,校验的逻辑就发生了些变化,需要对提交的密码进行加密之后再做对比,但是这样子还是不安全。
(1)通过以上步骤,我们只对数据库的password明文字段进行了简单的MD5加密,进入 输入加密后的密文进行解密后可以得到明文密码
(2)容易根据密文位数推测算法,从而使用工具破解。
(3)真实密码相同,加密过的密码也相同。
3、接下来我们介绍一下对其进行加盐处理
l 在表中添加一列salt字段(盐),内容随意输入23sd2,然后和原来的明文密码123456结合,再进行md5加密


说明:所谓的salt字段就是一个随机的字段,具体随机算法就不讨论了,每当用户注册账户时,后台就给它随机生成一个不同的字段,然后根据password和salt字段结合进行摘要处理,存在数据库表中的password字段,这样一来,原来明文都是123456生成的密文就不一样了。
以上的步骤我们只是对数据库进行了加密,为了防止用户输入密码在传输的过程中被抓包工具获取,我们还要在密码传输的过程中进行加密,这样可以使得获取到的也是密文。
4、最后介绍下BCrypt加盐加密
l 经过BCryptPasswordEncoder加密后的内容,不需要专门的salt字段存储盐,而是在密文中。

l BCrypt密码图解
l Bcrypt有四个变量:
saltRounds: 正数,代表hash杂凑次数,数值越高越安全,默认10次。
myPassword: 明文密码字符串。
salt: 盐,一个128bits随机字符串,22字符
myHash: 经过明文密码password和盐salt进行hash
l 如何校验正确性
在校验时,从密文中取出盐salt,salt跟password进行hash,得到的结果跟保存在DB中的hash进行比对。
总结:
l 对于用户的密码保护,数据库对敏感的字符内容一定要进行加密之后存储。
l 如果只是单纯的对密码进行加密,密码字符一样会导致加密后的内容也一样,会出现破解一个就可以破解一片的情况。
l 通过对密码加盐(混入随机字符拼接在密码明文中)之后加密,可以增加系统复杂度,得到更强更安全的密文摘要值。
- 宝塔面板FTP链接服务器发回了不可路由地址
- 阿里云ecs安装宝塔面板失败原因?以及安装步骤?
- 织梦手机端-识别跳转
- html如何在一个form表单中实现多个submit
- thinkphp无限分类原理和实现代码
- thinkphp6 请求(request)变量
- 帝国CMS自定义列表SQL调用方法
- 帝国CMS自定义列表的使用实例
- 帝国cms自定义列表限制某个栏目显示
- PHP中利用for循环判断一个数是不是回文数
- PHP中判断一个数是否为素数的方法
- PHP中break,continue,exit的使用与区别
- 测试PHP连接MYSQL成功与否的代码
- PHP编程求最大公约数与最小公倍数的方法示例
- PHP获取数组中单列值的方法
- PHP使用一个for循环将N*N的二维数组的所有值置1实现方法
- HTML5+css3:3D旋转木马效果相册
- HTML,CSS,font-family:中文字体和英文名称对照表
- HTML使用栅格布局实现六种筛子样式的代码详解
- 修改CSS样式实现网页变灰色/黑白代码的几个方法整理
- 黄庭坚《水调歌头·游览》我欲穿花寻路 直入白云深处
- 黄庭坚《品令·茶词》恰如灯下 故人万里 归来对影
- 杜荀鹤《溪兴》山雨溪风卷钓丝 瓦瓯篷底独斟时
- 储光羲《张谷田舍》一径入寒竹 小桥穿野花
- 赵嘏《寒塘》晓发梳临水 寒塘坐见秋
- 蔡确《夏日登车盖亭》纸屏石枕竹方床 手倦抛书午梦长
- 李峤《书》河图八卦出 洛范九畴初
- 刘长卿《饯别王十一南游》长江一帆远 落日五湖春
- 韦庄《章台夜思》芳草已云暮 故人殊未来
- 卢纶《宿澄上人院》竹窗闻远水 月出似溪中
- 孟浩然《留别王侍御维》只应守寂寞 还掩故园扉
- 苏轼《南乡子·送述古》归路晚风清 一枕初寒梦不成
- 王维《木兰柴》秋山敛馀照 飞鸟逐前侣
- 王维《栾家濑》跳波自相溅 白鹭惊复下
- 苏轼《少年游·润州作代人寄远》对酒卷帘邀明月 风露透窗纱
- 苏轼《行香子·过七里濑》一叶舟轻 双桨鸿惊 水天清 影湛波平
- 王维《汉江临泛》江流天地外 山色有无中
- 柳宗元《溪居》晓耕翻露草 夜榜响溪石
- 杜牧《赠宣州元处士》蓬蒿三亩居 宽于一天下
- 项鸿祚《清平乐·池上纳凉》水天清话 院静人销夏