Vue使用国密SM4加密

1 npm install gm-crypt 
1 const SM4 = require("gm-crypt").sm4;
2 let sm4Config = {
3   //配置sm4参数
4   key: "gDg4g8CQyIrs^bv2",   //这里这个key值是跟后端要的
5   mode: "ecb",               // 加密的方式有两种,ecb和cbc两种,也是看后端如何定义的,不过要是cbc的话下面还要加一个iv的参数,ecb不用
6   cipherType: "base64"
7 };
8 let sm4 = new SM4(sm4Config);
1 // 开始加密
2 let username = sm4.encrypt(tmpObj.username);
3 let password = sm4.encrypt(tmpObj.password);
复制代码
 1 概述
 2 sm4加密有两种模式:ecb和cbc。两种模式的区别如下(下面文字来自百度):
 3 
 4 一、优bai点不同:
 5 
 6 ECB模式:1、简单;2、有利于并行计算;3、误差不会bai被传送;
 7 
 8 CBC模式:1、不容易主动攻击,安全性好于baiECB,适合传输长度长的报文,是SSL、IPSec的标准。
 9 
10 二、缺点不同:
11 
12 ECB模式:1、不能隐藏明文的模式;2、可能对明文进行主动攻击;
13 
14 CBC模式:1、不利于并行计算;2、误差传递;3、需要初始化向量IV
15 
16 三、概念不同
17 
18 1、ECB模式又称电子密码本模式:Electronic codebook,是最简单的块密码加密模式,加密前根据加密块大小(如AES为128位)分成若干块,之后将每块使用相同的密钥单独加密,解密同理。
19 
20 2、密码分组链接(CBC,Cipher-block chaining)模式,由IBM于1976年发明,每个明文块先与前一个密文块进行异或后,再进行加密。在这种方法中,每个密文块都依赖于它前面的所有明文块。同时,为了保证每条消息的唯一性,在第一个块中需要使用初始化向量IV。
复制代码

 

posted @   等风来灬  阅读(4155)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
 
点击右上角即可分享
微信分享提示