sm4加密有32位key值加密和16位key值加密
加粗样式sm4中32位加密:可以参考:
安装
npm install @haici/gmsm4 --save
使用方法
一、通过 baseKey 获取加密秘钥 key约定 baseKey 为字符串(长度不限)
import { genKey } from '@haici/gmsm4';
const key = genKey('123456789');
二、使用 ECB 模式加密key 要求为 32 位十六进制字符串
import sm4,{ genKey } from '@haici/gmsm4';
let text = 'This is 一段明文内容!';
let key = genKey('123456789');
let enData = sm4.encryptWithECB(key,text); //加密
let deData = sm4.encryptWithECB(key,enData); //解密
三、使用 CBC 模式加密iv 和 key 要求为 32 位十六进制字符串
import sm4, { genKey } from '@haici/gmsm4';
let text = 'This is 一段明文内容!';
let iv = '00000000000000000000000000000000';
let key = genKey('123456789');
let enData = sm4.encryptWithCBC(key,iv,text); //加密
let deData = sm4.decryptWithCBC(key,iv,enData); //解密
sm4中16位加密:可以参考:
安装依赖:
npm install gm-crypt
使用
// 引用sm4包进行加密
const SM4 = require("gm-crypt").sm4;
let sm4Config = {
//配置sm4参数
key: "HENG1AN2WEN3YIN4",//这里这个key值是跟后端要的
mode: "ecb", // 加密的方式有两种,ecb和cbc两种,也是看后端如何定义的,不过要是cbc的话下面还要加一个iv的参数,ecb不用
cipherType: "base64"
};
let sm4 = new SM4(sm4Config);//这里new一个函数,将上面的sm4Config作为参数传递进去。然后就可以开心的加密了
let Account = sm4.encrypt(this.Account); //账号加密
sm3加密:可以参考
引入
npm install sm3
const sm3 = require('sm3');
const hash = sm3('值');