解决什么问题
国内项目常碰到 SM2(替换 RSA 的非对称商密)。命令行或 Java 包对前端同学不友好;本页在浏览器内生成密钥、加解密,明文不上传服务器,方便对照联调。
功能清单
- 生成 SM2 密钥对(公钥 130 位或 66 位压缩)
- 原文 ↔ 密文;密文顺序 C1C3C2(新标准)/ C1C2C3(旧)
- 页面说明 SM2 与 RSA 差异、C1/C2/C3 含义
技术实现
前端
| 项 | 说明 |
|---|---|
| 页面 | pages/tool/sm/index.vue |
| 库 | sm-crypto(loadSm2Script CDN) |
| API | generateKeyPairHex / doEncrypt / doDecrypt / compressPublicKeyHex |
keepalive: true 切换工具 Tab 时保留密钥与输入。挂载后自动生成一对密钥,减少空窗。
后端?
工具页不调 Nest。 站内网关另有 GM 套件(gateway-crypto/suite-gm)用于传输加密,与本页「演示用玩具箱」分离——别把页面密钥当成生产密钥托管。
使用教程
- 打开 /tool/sm,等脚本就绪(自动生成密钥)
- 需要压缩公钥时选「66 位」再点生成
- 输入原文 → 选密文顺序 → 加密
- 密文区 → 解密,核对是否还原
优化记录
- CDN 按需加载,避免首屏塞满密码学脚本
- 密文顺序可切换,兼容新旧国密对接方
小结
纯前端商密演示 + 同站 RSA/对称工具形成「加解密工具带」。生产密钥与网关套件请走服务端配置,不要复制本页临时钥。

全部评论(0)