IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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中)

?


将XML转化成对象的插件
import x2js from 'x2js'
new x2js().xml2js(webku).methodResponse.params.param.value.array.data;










将json转化成对象 json.parse()

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-01-30 19:15:44  更:2022-01-30 19:16:33 
 
开发: 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年10日历 -2024/10/5 11:23:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码