美文网首页
js Websocket+XIC+EAX+VBS+ArrayBu

js Websocket+XIC+EAX+VBS+ArrayBu

作者: 突破格局 | 来源:发表于2018-08-26 11:28 被阅读0次
        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

    相关文章

      网友评论

          本文标题:js Websocket+XIC+EAX+VBS+ArrayBu

          本文链接:https://www.haomeiwen.com/subject/zbugiftx.html