当前位置:首页 » 《关注互联网》 » 正文

react+vue 前端国密算法sm2、sm3 、sm4的js ts实现

27 人参与  2024年04月14日 18:25  分类 : 《关注互联网》  评论

点击全文阅读


1. 简单介绍下SM2 和 SM3

SM2 算法:是一种公钥加密算法,它的密钥长度为 256 位,安全性较高。可用于数字签名、密钥协商等场景。

SM3 算法:是一种对称加密算法,用于消息摘要和数字签名等场景。它的密钥长度为 256 位,安全性较高。SM3 算法与 SM2
算法相互配合,提高了整体安全性能。

2. 接下来讲前端如何实现

安装
npm install  sm-cryptoyarn add sm-crypto
sm2 、sm3 引入写法
 require('sm-crypto').sm2  require('sm-crypto').sm3
SM2 非对称加密写法

str是需要加密的字符串
cipherMode // 1 - C1C3C2,0 - C1C2C3,默认为1
PUBLIC_KEY是后端给你的公钥,长度为130位,记住是以04开头

export function sm2Encrypt(str: string, cipherMode = 1) {  const sm2 = require('sm-crypto').sm2;    // 默认生成公钥 130 位太长,可以压缩公钥到 66 位  const compressedPublicKey = sm2.compressPublicKeyHex(PUBLIC_KEY);     // compressedPublicKey 和 PUBLIC_KEY 等价  const encryptData = sm2.doEncrypt(str, compressedPublicKey, cipherMode);   // 最后一步一定要记住再拼接04  return `04${encryptData}`;}
代码里面引入,加密密码sm2Encrypt(password,1)
HMAC-SM3签名算法写法

data是签名加密数据,例如:账号+密码+时间戳(需要跟后端开发协商)
pwd是是第二个参数,我们这里要求的是传密码,要求为 16
进制串或字节数组
,这里的strToHex方法就是将密码转为16进制

export function sm3Sign(data: string, pwd: string) {  const sm3 = require('sm-crypto').sm3;    return sm3(data, { key: strToHex(pwd) });}

将字符串转为16进制方法,我这里是自己封装了一个,还有很多方法可以实现转16进制,大家可以自己百度学习

export function strToHex(str: string) {  var hexCharCode = [];    for (var i = 0; i < str.length; i++) {    hexCharCode.push(str.charCodeAt(i).toString(16));  }  // 记住这里的join一定是空,不要误打了空格  return hexCharCode.join('');}
代码里面引入sm3Sign(name+password+timestamp, password)

参考链接:sm2 sm3 sm4 加密实现
校验工具:在线加密解密工具


点击全文阅读


本文链接:http://zhangshiyu.com/post/95311.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 愿得一人心常读_萧城蒋雪柔华冉优质全文_小说后续在线阅读_无删减免费完结_
  • 女士的玩具推文_杜小灵白月光杜雪必读文_小说后续在线阅读_无删减免费完结_
  • 女儿要给我养老,我却反手把她告上法庭每日分享_林梦王浩养老一口气完结_小说后续在线阅读_无删减免费完结_
  • 闻妻有两意(林鹿小柿子)_闻妻有两意
  • 我的死党是刘秀?这皇位我不篡了(李哲王莽)全书免费_(李哲王莽)我的死党是刘秀?这皇位我不篡了后续(李哲王莽)
  • 逃荒路末世女王带着空间养儿女(周铁山王寡妇阿蛮)_逃荒路末世女王带着空间养儿女(周铁山王寡妇阿蛮)
  • 霍远凡肖灿续集(霍远凡肖灿)章节前文+全书阅读(丈夫逼我流产,我以死谢罪)最新连载
  • 老公给我13.14亲密付,我堕胎再婚后他悔疯了每日分享_苏暖顾川林晚晚超长版_小说后续在线阅读_无删减免费完结_
  • (白瑶,李玄胤,冰冷)白瑶,李玄胤,冰冷小说(九尾渡红尘)无套路无弹窗全部章节列表
  • (此去经年无故人)南初陆南城:结局+番外精品选集起点章节+阅读即将发布预订
  • 沈凝夏叶晚怡附加完整在线阅读(归雁不栖故人枝)最近更新列表
  • 剧情人物是时初,白浩雄的玄幻言情小说《召诸神,踏万界,天命帝女逆乾坤》,由网络作家&ldquo;海鸥&rdquo;所著,情节扣人心弦,本站TXT全本,欢迎阅读!本书共计381345字,185章节,:结局+番外免费品鉴:结局+番外评价五颗星

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1