简体中文
主题
SM2 / SM3 / SM4 / SM9 / ZUC —— 同一份 API 跑在 Node 18+ 与现代浏览器,按算法分包、按需懒加载。
椭圆曲线与双线性对跑在 WASM 里。SM4 六种模式比纯 JS 参考实现快 3.6–11.2×,SM2 快 1.8–7.6×,SM3 快 3.1–3.5×、ZUC 快 2.3×。
发布物是 .wasm 加一层薄 TS 胶水。使用者不需要 node-gyp、Rust 或编译器,五个算法按需下载。
Node 18+、现代浏览器、Web Worker 用同一份 API。Deno / Bun 走 Node 同路径。
实现遵循 GM/T 0003 / 0004 / 0002 / 0044 / 0001 系列,以官方向量、OpenSSL、GmSSL、gmkitx 交叉验证。
每个算法页都可以在浏览器里真实加载 wasm、填参数、点运行看结果 —— 出错时库抛出的错误类型也照实显示。
hex / base64 / PEM / Uint8Array 自动识别,输出默认 hex,省掉一层手写编解码。
关于这个库的形状
每个算法是一个独立命名空间,各自暴露 ensureLoaded() 与业务函数。wasm 按算法分包, 调用哪个算法才加载哪个 wasm;首次使用前 await algo.ensureLoaded(),之后所有业务 函数都是同步的。
ensureLoaded()
await algo.ensureLoaded()