方案是: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

解决用户登录、注册传输中账号密码的安全泄露问题相关推荐

  1. android中注册的账号密码储存在,android SharedPreferences实现用户的注册和保存账号密码...

    在android开发中,我们做用户登录和注册的时候需要将用户名和密码保存,下次打开的时候记住应户名和密码.关于注册保存用户密码的方式和记住用户名和密码的保存方式有多种,这里介绍SharaedPrefe ...

  2. android SharedPreferences实现用户的注册和保存账号密码

    在android开发中,我们做用户登录和注册的时候需要将用户名和密码保存,下次打开的时候记住应户名和密码.关于注册保存用户密码的方式和记住用户名和密码的保存方式有多种,这里介绍SharaedPrefe ...

  3. day14【前台】用户登录注册

    day14[前台]用户登录注册 1.会员登录框架 2.发送短信(测试) 2.1.去哪儿找API 上阿里云:直接搜索[短信接口] 随便找一个就行,往下翻有API接口的使用方法 2.2.测试API 2.2 ...

  4. JavaWeb-WEB核心7 会话技术 理解什么是会话跟踪技术掌握Cookie的使用掌握Session的使用(钝化、活化)完善用户登录注册案例的功能

    会话技术 今日目标 理解什么是会话跟踪技术 掌握Cookie的使用 掌握Session的使用 完善用户登录注册案例的功能 1,会话跟踪技术的概述 对于会话跟踪这四个词,我们需要拆开来进行解释,首先要理 ...

  5. java实现登录注册案例_Java基于IO版实现用户登录注册的案例

    下面小编就为大家带来一篇基于IO版的用户登录注册实例(Java).小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 今天学的是用户登录注册功能. 4个包: itcast.c ...

  6. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

    基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复 ...

  7. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  8. javaweb学习总结(二十二):基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  9. javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

最新文章

  1. java 类的执行顺序_java类加载的顺序
  2. pytest使用简介
  3. 从壹开始前后端分离 40 || 完美基于AOP的接口性能分析
  4. 【机器视觉】 par_join算子
  5. beautifulsoup网页爬虫解析_Python爬虫3步曲:5分钟学习用Python解析网页
  6. python少儿图形编程软件_现在最好的少儿编程软件是什么?
  7. ValueError: Solver lbfgs supports only ‘l2‘ or ‘none‘ penalties, got l1 penalty.
  8. IMF Is Given Tough Tasks
  9. java 叠加层_java简单设置图层实现图片叠加
  10. 数字图像处理-DFTDCTWHT小波变换分解重构(Matlab)
  11. 【PPT 资源下载】甲骨文数据库大会精彩主题分享
  12. dash linux命令,Linux shell语言——dash和bash
  13. 提问的艺术:如何快速获得答案
  14. css 光影掠过文字效果
  15. 深入讲解VsCode各场景高级调试与使用技巧
  16. 国机精工,上柴股份,共创草坪,成交量异动检测
  17. 怎么把图片转成JPG格式
  18. 青岛新媒体运营教程:三步浅谈活动运营,拆解策划实施
  19. 成都中考数学可以用计算机,2019年成都中考数学试卷分析报告出炉,保底分值应该在129分...
  20. 短信发送验证码实现验证

热门文章

  1. 计算机里找不到网络映射盘,怎么win10上添加网络映射盘_win10添加网络映射盘的方法...
  2. ArtCAM+Powermill雕刻编程加工视频教程 浮雕 玉石四轴雕刻
  3. 关于制造业的一些基础知识
  4. capstone训练营2018-1-3
  5. 让你的浏览体验更高效:五款不可错过的浏览器书签插件推荐
  6. Cause: java.sql.SQLException: Invalid value for getInt()
  7. ofo html源码,ofo.html
  8. Linux系统搭建NFS网络共享存储
  9. 122个常见问题收集整理(FLASH初学者参见)
  10. openwrt开启文件服务器失败,OpenWrt搭建文件共享服务(NAS)