• 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。
  • 相关阅读:
    discuz制作
    Cookie和Session专题
    ecmall二次开发 直接实例化mysql对象
    ecmall widgets 挂件开发详解
    都是iconv惹的祸
    discuz+ecmall+phpcms整合
    replace into
    权限管理设计二
    权限管理设计一
    SVN服务器搭建和使用(二)
  • 原文地址:https://www.cnblogs.com/PengZhao-Mr/p/15122340.html
Copyright © 2020-2023  润新知