js Websocket+XIC+EAX+VBS+ArrayBuffer+Srp6a

    websocket最近几年开始流行起来,它是一种在单个 TCP 连接上进行全双工(full-duplex)通讯的协议, 

具体介绍可参考阮一峰老师写的WebSocket 教程,网址:http://www.ruanyifeng.com/blog/2017/05/websocket.html
或者Alpha的WebSocket http://javascript.ruanyifeng.com/htmlapi/websocket.html
或者这篇博客https://halfrost.com/websocket/
这些介绍websocket都较为详细,我就不介绍相关方面了。
ArrayBuffer对象:代表内存之中的一段二进制数据,目前有关ArrayBuffer资料甚多,这里就不I详细介绍了。
XIC协议消息格式:一种用于web的消息通信协议格式。详细介绍参考熊家贵老师文档介绍: https://github.com/halftwo/knotty/blob/master/doc/xic.rst
VBS编码:将数据编写成二进制表示形式,并且将数据类型也编入到编码后的字节流中。详细介绍参考熊家贵老师文档介绍:https://github.com/halftwo/knotty/blob/master/doc/vbs.rst
EAX加密算法: 提供认证和加密的算法,加密和认证各自有一把key,可以对任意长度数据加密的算法。(后续会有详细介绍)
Srp6a: 双向认证协商公共秘钥的算法。
简单阐述了这几项技术的介绍,接下来切入正题:项目地址:https://github.com/ying2025/websocket---vbs(目前进行中)
一、项目对外提供接口:
ClientSocket:(websocket.js)

image.png

主要提供有连接,发送数据,接收数据,错误处理函数,优雅关闭,读取二进制,生成Txid等函数。
MsgHeader(message.js)
image.png

主要提供pack各钟XIC消息格式和unpack各种XIC消息格式的函数
CryptoJS(eax.js)
主要提供EAX加密的各种接口。
clientInit、clientComputeM1、verifyM2(SRP6a.js)
提供客户端初始化,计算认证M1,验证M2等方法。
二、整体架构图
image.png

image.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,834评论 2 59
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,860评论 25 708
  • 1961年6月25日,雷震先生在狱中度过65岁生日。胡适先生录宋人杨万里诗,遥祝雷震。诗曰:“万山不许一溪奔,拦得...
    西風烈阅读 289评论 0 0
  • 昨天第五节课后的限时训练,李老师要我给班级学生看下今年高考作文题目。 我省用全国卷二,作文材料为军事理论,难度五颗...
    lxl林小二阅读 417评论 0 4