前端使用SM2加密

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 具有较高的安全性和效率,适合在资源受限的环境中使用。

国密方法

国密算法(中国商用密码算法)是由中国国家密码管理局(简称“国密局”)制定和发布的一系列密码算法标准,旨在保障信息安全并满足国内商用密码需求。

  1. SM1 对称加密算法
  2. SM2 椭圆曲线公钥加密算法
  3. SM3 密码杂凑算法
  4. SM4 对称加密算法
  5. SM7 堆成加密算法
  6. SM9 表示密码算法
  7. ZUC 祖冲之序列密码算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值