1、SM2
SM2加密是一种非对称加密,由前端或后端生成一组密钥,分为公钥和私钥。一般将公钥放在前端配置文件保存,私钥后端保存不公开,前端用公钥和相关插件进行加密后传输到后端,后端使用私钥解密。
2、先安装sm-crypto
npm i sm-crypto
3、引入sm-crypto编写代码
import smCrypto from 'sm-crypto'
let pwd = 'passward' //密码
let pulickKey = '0425ba7f5d548066a3190a0f38ebd8fddcb016ec2a8218421cd9946d665433ccf45d511615025c43ec9bb1da600164d4ada070efbebe982e479534dee7399d27d'// 公钥
//当然这是个假公钥 用sm2.generateKeyPairHex()这个方法来生成密钥组
let sm2 = smCrypto.sm2 // 获取sm2加密对象
pwd = sm2.doEncrypt(passward,pulickKey,1) //执行公钥加密方法
console.log(pwd) //获得加密后的方法
4、SM2其他方法
comparePublicKeyHex:比较十六进制表示的公钥。 compressPublicKeyHex:对公钥的十六进制表示进行压缩。 doDecrypt:执行解密操作。 doEncrypt:执行加密操作。 doSignature:执行签名操作。 doVerifySignature:验证签名。 generateKeyPairHex:生成十六进制形式的密钥对。 getPoint:获取某个点(可能在特定的数学或加密场景中)。 getPublicKeyFromPrivateKey:从私钥获取公钥。 verifyPublicKey:验证公钥。
4、扩展
SM2
SM2 是中国国家密码管理局(GM/T 0003-2012)发布的一种基于椭圆曲线的公钥加密算法。它是中国商用密码标准的一部分,广泛应用于数字签名、密钥交换和加密等场景。SM2 具有较高的安全性和效率,适合在资源受限的环境中使用。
国密方法
国密算法(中国商用密码算法)是由中国国家密码管理局(简称“国密局”)制定和发布的一系列密码算法标准,旨在保障信息安全并满足国内商用密码需求。
- SM1 对称加密算法
- SM2 椭圆曲线公钥加密算法
- SM3 密码杂凑算法
- SM4 对称加密算法
- SM7 堆成加密算法
- SM9 表示密码算法
- ZUC 祖冲之序列密码算法
5281

被折叠的 条评论
为什么被折叠?



