sm4加密和sm3加密

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('值');
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
SM2和SM4是中国国家密码局发布的一种非对称加密算法和一种对称加密算法,它们的优缺点如下: SM2优点: 1. 安全性高:SM2采用了ECC(椭圆曲线加密算法),其安全性比RSA算法更高。 2. 算法效率高:SM2的算法效率比传统的RSA算法高,加密、解密速度快。 3. 适用范围广:SM2适用于数字签名、密钥交换、认证等多种场景。 4. 国产算法:SM2是中国自主研发的加密算法,具有国产算法的优势,不受外部环境影响。 SM2缺点: 1. 算法适用范围受限:SM2只适用于非对称加密算法,不能用于对称加密算法。 2. 算法标准化不够:SM2的标准化程度还不够,相关技术人员使用起来还不太方便。 SM4优点: 1. 安全性高:SM4采用了分组密码算法,其安全性比DES和AES算法更高。 2. 算法效率高:SM4的算法效率比DES和AES算法高,加密、解密速度快。 3. 适用范围广:SM4适用于多种场景,如数据加密、通信加密、文件加密等。 4. 国产算法:SM4是中国自主研发的加密算法,具有国产算法的优势,不受外部环境影响。 SM4缺点: 1. 密钥长度限制:SM4的密钥长度只能是128位,这对于一些安全性要求更高的场景来说,可能不够安全。 2. 密钥管理难度较大:由于SM4是对称加密算法,密钥管理难度比较大,需要采取一些措施来保证密钥的安全性。 综合来看,SM2和SM4都是安全性高、效率高、适用范围广的加密算法,具有国产算法的优势。但是,它们也存在一些局限性,需要根据具体的应用场景进行选择。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值