第一次请求post:
1. client 生成随机数a, g, p
2. client 通过A = g^a mod p,得到A,再带着a, g, A,以及用户名hash名,发送请求给server
3. server拿到a, g, A,以及用户名hash,对应生成一个随机数b,则得到B=g^b mod p,把B返回给client
4. server通过查询用户名hash列表,得到真实用户名
4. server通过K=A^b mod p,得到一个共享密钥K,这个共享密钥对应请求的用户名
5. client拿到返回的B,通过K=B^a mod p,也能够拿到一个共享密钥K

第二次请求post:
1. client通过K对用户密码加密,得到passwd_sec
2. client再使用passwd_sec和用户名hash进行登录token获取的请求
3. server拿到passwd_sec,使用共享密钥K解密出passwd,查询用户名hash列表,得到真实用户名
4. 核对用户名和密码,确认登录状态,生成登陆token,返回给client

第三次请求get:
1. client拿到token,直接使用token_new = token+用户名hash+refer,然后使用共享密钥K进行加密,直接使用token_new单一参数进行请求
2. server接收到这个字符串之后,使用K进行解密,得到token和用户名hash以及refer,进行refer校验是否在白名单内,进行登陆操作,并且转跳到登录成功后的页面。

每一个请求即使被拦截了也毫无意义,因为单纯从返回的字段内容,是无法得到有用信息的。即使把所有请求都拦截了,并且解析出明文数据,依旧无用。

一种绝对安全的跳转单点登陆方法相关推荐

  1. 局部遮荫光伏matlab,一种基于随机蛙跳全局搜索算法的局部阴影光伏阵列MPPT控制的制作方法...

    本发明涉及一种局部阴影光伏阵列多峰MPPT控制方法,特别涉及一种基于随机蛙跳全局搜索算法的局部阴影光伏列阵多峰MPPT控制. 背景技术: 伴随太阳能发电的普及,光伏阵列的运行环境变的越来越复杂,局部遮 ...

  2. 两种方式实现登录跳转新窗体

    两种方式实现登录跳转新窗体 直接隐藏登录窗体 显示主界面 //验证是否有此用户 int? flag = studentService.StudentLogin(userNameText.Text.Tr ...

  3. php倒计时跳转网页,三种实现网页定时跳转(倒计时跳转)代码

    在我们做网页的时候,尤其是动态网页,再加上异步伐提交的时候,需要对网页进行跳转的操作,今天我们就分享一下,如何利用JQuery或HTML代码对网页进行跳转或倒计时跳转的操作. 利用Js的setTime ...

  4. 单点登陆有几种实现方式_关于方法实现的几点思考

    单点登陆有几种实现方式 在罗伯特·C·马丁(Robert C. Martin)的"清洁代码"的第17章中,作者描述了" 代码气味 "的思想,即在开发中的实践,尽 ...

  5. 几种常见网页自动跳转方法

    种常见网页自动跳转方法对SEO的影响 网页自动跳转,是指当用户访问某个网页时,被自动跳转到另一个网页中去.网页自动跳转的主要作用 是,当域名变更后,或者网站里的一个或多个网页被删除后,可以使用这种方式 ...

  6. IM开发基础知识补课(一):正确理解前置HTTP SSO单点登陆接口的原理

    1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以"人"为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是 ...

  7. ASP.NET站点跨子域名单点登陆(SSO)的实现

    http://blog.csdn.net/jason_dct/article/details/8502075 ASP.NET站点跨子域名单点登陆(SSO)的实现 在MSDN的文档"配置跨应用 ...

  8. IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理

    1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以"人"为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是 ...

  9. 社交登陆,分布式session,单点登陆,jwt

    社交登陆,分布式session,单点登陆,jwt 一.社交登录 QQ. 微博. github 等网站的用户量非常大, 别的网站为了简化自我网站的登陆与注册逻辑, 引入社交登陆功能: 步骤: 1) . ...

最新文章

  1. Python csv模块的使用
  2. 秒半价,限三天。戴尔i7高配电脑低至2750元
  3. 旧版 npm 安装 node_modules 模块目录层次过深,导致 win 下无法删除
  4. uv,top3访问次数
  5. [转] 多线程 《深入浅出 Java Concurrency》目录
  6. python打开鼠标指定文件夹_学会python文件操作,鼠标好像没用了,学习python第10天...
  7. DeDe调用指定栏目ID下的文章
  8. python入门教程 非常详细-Python编程入门教程:从入门到高级,非常详细
  9. TCxGrid 把列移上移下。
  10. DropDownList下拉框多选
  11. 如何防止用户重复提交数据
  12. LINUX SHELL中大小写转换及注意事项
  13. wsl使用可视化界面_WSL 科学计算〇 | 适合计算化学的环境配置
  14. 火星开发板_数据科学家来自火星,软件开发人员来自金星
  15. Ubertooth one“蓝牙扫描嗅探”使用教程
  16. DICOM标准之一_介绍和概述
  17. C_CAPM模型(上)
  18. 蔡高厅高等数学28-高阶导数
  19. 职称计算机初级应知应会书,职称计算机考试用书
  20. 二叉树的中序遍历 [递归 迭代]

热门文章

  1. 北京的“七环路”解决不了堵车问题 预计2015年通车 全长约940公里
  2. html表单颜色背景图片大全唯美伤感,伤感唯美意境背影图片大全
  3. 【Android】android TV开发
  4. windows ubuntu16.04 双系统 ubuntu基本操作笔记
  5. simulink仿真pid控制伺服系统
  6. ICCV 2021|Aibee提出LCE:一个随意转换模型的通用框架
  7. AcWing 4261. 孤独的照片
  8. uniapp使用腾讯地图实现定位,选点,距离计算和导航功能
  9. 家人们,我用ChatGPT来做减肥指引,分享下心得
  10. scratch数星星 电子学会图形化编程scratch等级考试三级真题和答案解析2021-12