| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> Vue+RPC服务实现用户登录UKEY认证 -> 正文阅读 |
|
[网络协议]Vue+RPC服务实现用户登录UKEY认证 |
什么是RPC服务: 全名Remote Procedure Call,远程过程调用, RPC与http的区别: RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要更胜一筹 RPC架构里面包含了四个核心的组件: 客户端(Client),服务的调用方。 服务端(Server),真正的服务提供者。 客户端存根,存放服务端的地址消息,再将客户端的请求参数打包成网络消息,然后通过网络远程发送给服务方。 服务端存根,接收客户端发送过来的消息,将消息解包,并调用本地的方法。 与前端的通信方式为:XML XML-RPC是一种通过 Internet 进行过程调用的快捷方式。它将过程调用转换为 XML 文档,使用 HTTP 将其发送到远程服务器,然后以 XML 形式返回响应。 此次项目 C++工程师已将是基于http协议调用RPC服务的,请求参数携带到XML中 UKEY: UKEY的内部结构,也就是那个像U盘一样的东西,通常叫他加密锁、加密狗、U盾 ? 在加密锁内部有各种算法,这些算法都是开发商设置在加密锁内部的固话算法,不同的开发商应该会设置不同的算法。 虽然算法不同,但是对于身份认证的原理都应该是相同的 流程: 1.用户插入加密狗 2.打开指定的登录网站(需要启动读取加密狗的插件) 3.网站将会识别加密狗是否已经插入,没有插入的话提示无法登录。 4.网站成功识别并检测到对应的加密狗已经插入 5.用户输入用户名密码,点击登录 6.提示用户需要输入pin码(pin码为加密狗的密码,相当于用户身份的密码,只有加密狗和Pin嘛同时在手里才能确定身份,大大提高了安全性,即使Pin码泄露,没有拿到加密狗也无法登录,或者即使丢了加密狗不知道Pin码同样不能登录) 客户端使用Pin码对服务器返回的随机数进行签名,签名过程会验证Pin码的正确性,Pin码错误将无法进行签名,也就无法登录,Pin码正确后将会使用加密锁内部的私钥对随机数进行签名。这一步骤的所有过程都是在加密锁内部执行的。 8.Pin码验证正确并成功签名后,将用户信息和签名后的数据传到服务器。 9.服务器收到用户数据后使用公钥对签名数据进行验证。 10.验证通过即为合法用户,允许用户登录,验证失败为不合法用户,可能是用户使用了其他用户的加密狗。 加密狗内部是密钥、用户身份、Pin码都是需要进行设置的,一个用户对应一份密钥对应一个Pin码才是对的。 用户既然有忘记密码的情况,也会有忘记Pin码的情况,这时可以联系管理员进行查看或者修改Pin码,因为修改新Pin码必须要使用到原来的Pin码(防止了黑客拿到用户的加密狗修改Pin码的情况),所以服务器数据库保存的Pin码就很有用了。 请求参数携带到xml中: ? 返回参数:(同样在xml中) ?
|
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 9:47:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |