sm-crypto是一个用于实现SM系列密码算法的加密解密库,这些算法通常用于保护数据的机密性和完整性。SM系列密码算法主要包括SM2、SM3、SM4等,其中: SM2是一种公钥密码算法,主要用于数字签名和密钥交换。 SM3是一种密码杂凑算法,类似于SHA-256,用于生成数据的摘要。 SM4是一种对称加密算法,类似于AES,用于数据的加密和...
* https://github.com/JuneAndGreen/sm-crypto#sm4 * * */ // 数据加密 用于axios请求拦截器 exportconstencryptSm4= (requestParams ='')=>{ if(!requestParams)return returnsm4.encrypt(requestParams,CIPHERTEXT) } // 数据解密 用于axios相应拦截器 exportconstdecryptSm4= (result ='')=>{ if(!result...
let encryptData = sm4.encrypt(msg, key) // 加密,默认输出 16 进制字符串,默认使用 pkcs#7 填充(传 pkcs#5 也会走 pkcs#7 >填充) 4、解密信息 let decryptData = sm4.decrypt(encryptData, key); 四、完整示例代码 const sm4 = require("miniprogram-sm-crypto").sm4; const msg = '我要加密' /...
* 该方法使用KeyGenerator类来生成SM4加密算法所需的密钥 * 密钥长度被初始化为128位,以确保加密的安全性 * * @return SecretKey 生成的SM4加密密钥 * @throws Exception 如果KeyGenerator的初始化或密钥生成过程中发生错误,则抛出此异常 */ public static SecretKey generateKey() throws Exception { // 实例化Key...
算法选择sm4时,结果如下图所示:非Node环境 非Node环境不能使用npm命令安装sm-crypto库,我们可以下载sm-crypto.js,放到我们的项目里使用。通过script标签分别引入sm2.js,sm3.js,sm4.js,然后编码加解密方法,和上面类似。如下图所示:运行结果如下图所示:以上内容就是国密加解密的基本用法了,sm-crypto还有...
SM-Cryptosm4是一种基于SM3算法的公钥加密方案。它使用椭圆曲线数字签名算法(ECDSA)来实现非对称加密,同时结合SM2算法进行密钥生成和更新,以实现快速、安全的密钥交换过程。 SM-Cryptosm4具有以下特点: 1. 高效性:采用椭圆曲线数字签名算法(ECDSA)和SM2算法,实现了高效的密钥交换和加密解密过程。
SM2、SM3和SM4是国密算法中的重要加密技术,它们在JavaScript中的实现可以通过`sm-crypto`包来完成。以下是对这些算法的简单介绍: 1. SM2算法:是一种公钥加密算法,密钥长度为256位,安全性较高。可用于数字签名、密钥协商等场景。 2. SM3算法:是一种对称加密算法,用于消息摘要和数字签名等场景。其密钥长度也为256...
sm-crypto可以在微信小程序中实现SM2、SM3、SM4国密算法。 2|0前期准备 2|1sm-crypto安装 查看node和npm配置情况 若发现无法查找命令node和npm,证明还未安装nodejs,可以参考下面博客链接进行安装配置 node安装进 进行安装 使用以下指令进行安装 npm install --save miniprogram-sm-crypto 3|0算法实现 3|1sm-crypt...
import { sm2, sm3, sm4 } from 'sm-crypto'const smEncrypt = (data) => { // 获取接口A拿到的sm2公钥,用于最后加密 let publicKey = localStorage.getItem('publicKey') // 传给后端的body数据 let originData = { data: JSON.stringify(data), } // 获取签名秘钥,登录成功后拿到的...
crypto-gmsm国密算法库是国密商密算法(SM2,SM3,SM4)工具类封装,国产密码算法(国密算法)是指国家密码局认定的国产商用密码算法,目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。 二、功能 crypto-gmsm包含以下主要功能