博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决用户登录、注册传输中账号密码的安全泄露问题
阅读量:4977 次
发布时间:2019-06-12

本文共 644 字,大约阅读时间需要 2 分钟。

方案是:HASH + Salt

HASH + Salt 的操作也称为两次 HASH,其原理是:第一次 HASH 操作进行身份的初次鉴权,网站会返回一个随机数(Salt,盐值),客户端通过服务器返回的随机数以及协商好的规则进行第二次 HASH 操作,将操作结果发送给服务器,服务器也通过相同的方法进行操作,如果两次结果相同,那么就鉴权成功。

此种方式下,服务器也不存储明文密码,存储的是密码第一次 HASH 后的结果。即使该值被泄露,也不会泄露明文密码。

 

发起两次请求

1、明文传输用户名 例如:caoke

不存在-》登录失败

存在-》返回用户名的hash值。例如:1eea229fd1ea8ac0

2、对"用户名的hash值+密码"进行md5,产生hash,明文传输用户名、密码hash值。例如:md5("1eea229fd1ea8ac"+"123456") =838cfa0690f2198b

后端对用户名、密码hash进行比对

存在-》登录成功 

不存在-》密码错误

传输过程中只会泄露:caoke、838cfa0690f2198b、838cfa0690f2198b,而不会泄露密码123456

注册过程也是这个方案

 

另一种方案

博客园用的是rsa的方式对用户名、密码加密传输,这也是一种方式 ,具体可以看看encryptjs库,前端传入公钥,加密,然后传输给服务器,服务器用私钥解密。

 

转载于:https://www.cnblogs.com/caoke/p/10906786.html

你可能感兴趣的文章
highcharts 图表实例
查看>>
highcharts曲线图
查看>>
extjs动态改变样式
查看>>
宏定义
查看>>
笔记:git基本操作
查看>>
生成php所需要的APNS Service pem证书的步骤
查看>>
JavaWeb之JSON
查看>>
HOT SUMMER 每天都是不一样,积极的去感受生活 C#关闭IE相应的窗口 .
查看>>
optionMenu-普通菜单使用
查看>>
2016-2017-2点集拓扑作业[本科生上课时]讲解视频
查看>>
【MemSQL Start[c]UP 3.0 - Round 1 C】 Pie Rules
查看>>
Ognl中“%”、“#”、“$”详解
查看>>
我对应用软件——美团的看法
查看>>
struts2.x + Tiles2.x读取多个xml 配置文件
查看>>
表单校验之datatype
查看>>
python第六篇文件处理类型
查看>>
ubuntu16系统磁盘空间/dev/vda1占用满的问题
查看>>
grid网格布局
查看>>
JSP常用标签
查看>>
九涯的第一次
查看>>