Advertisement

ASN1.js: 一个实现完整ASN.1 BER解码与编码的纯JavaScript库

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:ZIP


简介:
ASN1.js是一款功能全面的JavaScript库,专为在浏览器和服务器环境中进行ASN.1基本编码规则(BER)的数据解码和编码而设计。 ASN.1(抽象语法表示法一)是一种标准和表示方法,它定义了在电信与计算机网络环境中表示、编码、传输及解码数据的规则和结构。ASN1js是一个纯JavaScript库,用于实现这一标准,并且是许多X.509相关数据结构及其他在网络中使用的协议的基础。 重要信息:对于使用ASN1.js V1版本的用户来说,需要注意的是,V2(基于ES2015)与之前的代码不兼容。 介绍部分: 这是第一个为浏览器环境设计的Java编码解码库。它是所有其他编码规则的基础,这些规则是PKI应用程序使用的编码标准的一个子集,并且已经针对ASN.1js进行了测试。然而,在使用JavaScript语言时会遇到一些限制。 图书馆特点:基于ES2015中的最新JavaScript功能;作为全面支持JS的PKIjs库(该库利用Web密码学API)的基础层,它包含了处理与公钥基础设施相关数据所需的所有类。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • ASN1.js: ASN.1 BERJavaScript
    优质
    ASN1.js是一款功能全面的JavaScript库,专为在浏览器和服务器环境中进行ASN.1基本编码规则(BER)的数据解码和编码而设计。 ASN.1(抽象语法表示法一)是一种标准和表示方法,它定义了在电信与计算机网络环境中表示、编码、传输及解码数据的规则和结构。ASN1js是一个纯JavaScript库,用于实现这一标准,并且是许多X.509相关数据结构及其他在网络中使用的协议的基础。 重要信息:对于使用ASN1.js V1版本的用户来说,需要注意的是,V2(基于ES2015)与之前的代码不兼容。 介绍部分: 这是第一个为浏览器环境设计的Java编码解码库。它是所有其他编码规则的基础,这些规则是PKI应用程序使用的编码标准的一个子集,并且已经针对ASN.1js进行了测试。然而,在使用JavaScript语言时会遇到一些限制。 图书馆特点:基于ES2015中的最新JavaScript功能;作为全面支持JS的PKIjs库(该库利用Web密码学API)的基础层,它包含了处理与公钥基础设施相关数据所需的所有类。
  • Fast_BER:基于C++11ASN.1 BER
    优质
    Fast_BER是一款高效的ASN.1基本编码规则(BER)实现工具,采用C++11开发,提供快速、灵活的BER编码和解码功能。 Fast BER 是一个用 C++11 编写的高性能 ASN.1 BER 编码和解码库。它旨在提供快速的编码和解码性能,并在常见用例中放弃了一些严格的 ASN.1 规范一致性。该库的设计决策包括简单、现代的 C++ 接口,ASN.1 序列表示为 POD 结构(没有私有成员或复杂的获取器和设置器),并且不使用异常、RTTI 和有限的内存分配(所有都是优化的小缓冲区)。此外,Fast BER 提供视图类以实现零拷贝解码,并模拟了 STL 类型接口,例如 `std::string`、`std::vector` 和 `std::optional`。然而,该库也有一些局限性:不支持循环数据结构和大小及值约束未实现。
  • ASN1Bean: 用于JavaBER和DERASN.1(原名jASN1)
    优质
    ASN1Bean是一个用于Java的BER和DER编码解码的高效库,前身是jASN1。它支持复杂的数据结构,并简化了与遵循X.509标准的应用程序的交互。 ASN1bean(以前称为jASN1)是Java ASN.1 BER和DER编码/解码库。有关ASN1bean的详细信息,请访问相关文档或官方网站获取更多资料。
  • ASN.1 BER系统详细设计及ASN.1规则析(经典全面版).doc
    优质
    本文档详尽介绍了ASN.1 BER编解码系统的设计方案,并深入剖析了ASN.1编码规则,适合希望深入了解该技术的读者。 摘 要 IABSTRACT II第1章 绪论 1.1 ASN.1概述 1.2 ASN.1系列标准 1.3 ASN.1编解码的应用与发展前景 2 1.4 论文章节结构组织 2 第2章 ASN.1词汇及词法约定 2.1 字符集 2.2 词项 2.3 本章小结 第3章 ASN.1数据类型定义 3.1 简单数据类型 3.1.1 布尔类型 3.1.2 空类型 3.1.3 整数类型 6 3.1.4 枚举类型 7 3.1.5 实数类型 8 3.1.6 位串类型 9 3.2构造类型 8 3.2.1 序列类型 8 3.2.2 单一序列类型 9 3.2.3 集合类型 10 3.2.4 单一集合类型 10 3.3 本章小结 第4章 ASN.1BER编码规则 12 4.1 ASN.1BER数据值的编码结构 12 4.1.1标识符八位位组 12 4.1.2长度八位位组 13 4.1.3内容八位位组 14 4.1.4 内容结束八位位组 15 4.2 简单数据类型的编码 15 4.2.1 布尔值的编码 16 4.2.2 空值的编码 17 4.2.3 整数值的编码 18 4.2.4 枚举值的编码 19 4.2.5 实数值的编码 20 4.2.6 位串值的编码 21 4.2.7 八位位串值的编码 23 4.3 构造类型的编码 25 4.3.1 序列值的编码 26 4.3.2 集合值的编码 28 4.3.3 单一序列值的编码 29 4.3.4 单一集合值的编码 30 4.4 本章小结 第5章 基于ASN.1BER规则的解码实现 21 5.1 布尔值的解码 22 5.2 空值的解码 24 5.3 整数值的解码 26 5.4 枚举值的解码 28 5.5 位串值的解码 30 5.6 八位位串值的解码 31 5.7 实数值的解码 33 5.8 构造类型解码 34 5.8.1 序列值的解码 36 5.8.2 单一序列值的解码 39 5.8.3 集合值的解码 40 5.8.4 单一集合的解码 41 5.9 解码系统设计流程图 43 5.10 本章小结 第6章 基于ASN.1 BER规约的可视化编解码系统及通信 39 6.1 ASN.1BER可视化编解码系统 39 6.2 编解码系统通信的实现 40 6.3 编解码系统的测试 41 6.4 本章小结 第7章 总结 45 7.1 主要内容回顾 45 7.2 本次设计的不足和进一步完善 45 致谢 46 参考文献 47 附录A 外文翻译-原文部分 48 附录B 外文翻译-中文译文 56
  • 基于BERASN.1语法译器和设计应用
    优质
    本研究设计并实现了一种基于BER编码规则的ASN.1语法编译器及编解码器,旨在提升数据交换的安全性和效率,在通信协议中有广泛应用。 本段落介绍了ASN.1标记语言以及BER基本编码规则,并结合其在移动通信国际漫游话单中的应用场景,详细阐述了应用于移动通信国际漫游话单处理系统中的ASN.1语法编译器和BER编解码模块的设计与实现。
  • JSOPUS示例代
    优质
    本篇文章提供了一个完整的JavaScript实现Opus音频编解码的示例代码,帮助开发者理解和应用Opus音频处理技术。 使用JavaScript实现Opus的编码与解码功能:其中解码可以直接在HTML文件中运行;而编码示例需要启动Apache服务才能运行。该代码可以读取WAV格式音频并将其转换为Opus格式,同时保存为Opus文件。对于解码部分,则是从Opus文件中提取PCM数据,并将结果保存为WAV文件。此过程中使用了WebAssembly(wasm)库来提高性能和效率。参考的文章提供了详细的实现方法说明。
  • Base64JS:base64-js
    优质
    base64-js是一个用于JavaScript环境中进行Base64编码与解码操作的库。它提供了一种无需依赖外部资源即可高效处理数据编码的方式,适用于各种前端和后端场景。 base64-js 是一个在纯 JavaScript 环境下执行基本的 Base64 编码与解码功能的工具模块。虽然许多浏览器已经内置了对文本数据进行 Base64 编码/解码的支持,但当需要处理通用二进制数据时,使用 base64-js 就很有必要。 安装和使用的步骤如下: ```javascript npm install base64-js ``` 然后在代码中引入它: ```javascript var base64js = require(base64-js); ``` 如果要在浏览器环境中使用该模块,请按照相应的指南操作(此处省略具体的操作说明,因为原文未提供详细步骤)。 `base64js` 模块提供了三个公开的函数:`byteLength`, `toByteArray`, 和 `fromByteArray`。这些方法都接受一个参数: - `byteLength`: 接受一个 Base64 编码字符串,并返回对应的字节数组长度。 - `toByteArray`: 接收一个 Base64 字符串,转换为字节数组并返回。 - `fromByteArray`: 将字节数组转回 Base64 格式的字符串(原文中的“fromByt”拼写错误已修正)。
  • 模仿QQJS+HTML5聊天界面例源
    优质
    这段代码示例提供了一个基于JavaScript和HTML5构建的简易QQ聊天界面,适合于前端开发者学习或直接使用。通过这个项目可以深入理解Web技术在即时通讯应用中的运用。 一个仿QQ的纯js+html5的聊天界面资源属于开发技术分类中的Javascript类别。
  • libde265.js:JavaScriptlibde265 HEVC/H.265器-源
    优质
    简介:libde265.js是一个用纯JavaScript编写的HEVC/H.265视频解码库,它实现了libde265的功能,并提供了解码HEVC编码格式的视频流的能力。 libde265.js 是一个纯JavaScript的HEVC/H.265视频解码库,基于libde265并使用Emscripten编译。理论上可以在多种现代浏览器上运行,包括但不限于Google Chrome 33+、Firefox 28+、IE 11+、Opera 20+ 和 Safari 7+。不过在较旧版本的浏览器中可能也可以工作,但未经测试。 请注意:这仍是一个非常早期的预览版,需要更多的测试和优化以提高性能。 构建(目前仅在Linux上进行了验证): 安装并将其添加到PATH环境变量 执行build.sh脚本会使用Emscripten下载及编译libde265,并生成libde265.js文件。 如果默认的LLVM版本低于3.2,可能需要手动安装llvm-3.2 或更高版本, 并将环境变量LLVM_ADD_VERSION设置为相应的值。