人防网站建设,最好的做网站的公司,怎么查百度竞价关键词价格,有做国外网站推广吗最近在开发过程中#xff0c;用到了sm4国密加密#xff0c;因为之前没有用过#xff0c;所以就想总结一下。
先说一下怎么安装使用#xff08;vue项目#xff09;
1、先安装sm4js
npm i sm4js在package.json中显示sm4js的版本如下#xff1a;
dependencies用到了sm4国密加密因为之前没有用过所以就想总结一下。
先说一下怎么安装使用vue项目
1、先安装sm4js
npm i sm4js在package.json中显示sm4js的版本如下
dependencies: {axios: ^1.3.2,sm4js: ^0.0.6
},2、安装完成之后在项目中怎么使用
scriptimport Sm4js from sm4js;export default {name: color,...methods:{getKey(){let sm4Config {key: this.key, // 密钥 前后端一致即可,后端提供一般通过接口请求获取到iv: this.iv, // iv是initialization vector的意思就是加密的初始话矢量初始化加密函数的变量也叫初始向量。一般通过接口请求获取到mode: cbc, // 加密的方式有两种ecb和cbc两种cipherType: base64}let sm4 new Sm4js(sm4Config)// 对数据进行加密 encrypt - 加密方法this.encrypted sm4.encrypt(this.cardId)// 对数据进行解密 decrypt - 解密方法this.decrypted sm4.decrypt(this.idCardNumber)}}}
/script3、国密sm4的总结
3.1 、SM算法 国密即国家密码局认定的国产密码算法。主要有SM1SM2SM3SM4。密钥长度和分组长度均为128位。 SM1 为对称加密。其加密强度与AES相当。该算法不公开调用该算法时需要通过加密芯片的接口进行调用。 SM2为非对称加密基于ECC。该算法已公开。由于该算法基于ECC故其签名速度与秘钥生成速度都快于RSA。ECC 256位SM2采用的就是ECC 256位的一种安全强度比RSA 2048位高但运算速度快于RSA。 SM3 消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。 SM4 无线局域网标准的分组数据算法。对称加密密钥长度和分组长度均为128位。
3.2 、SM4加密有两种模式ecb和cbc 两种模式的区别如下 ECB是一种基础的加密方式密文被分割成分组长度相等的块不足补齐然后单独一个个加密一个个输出组成密文。 CBC是一种循环模式链式前一个分组的密文和当前分组的明文操作后再加密这样做的目的是增强破解难度。不容易主动攻击安全性好于ECB是SSL、IPSec的标准
两种模式的概念不同 1、ECB模式又称电子密码本模式Electronic codebook是最简单的块密码加密模式加密前根据加密块大小如AES为128位分成若干块之后将每块使用相同的密钥单独加密解密同理。 2、密码分组链接CBCCipher-block chaining模式由IBM于1976年发明每个明文块先与前一个密文块进行异或后再进行加密。在这种方法中每个密文块都依赖于它前面的所有明文块。同时为了保证每条消息的唯一性在第一个块中需要使用初始化向量IV。
两种模式的优点 ECB模式1、简单2、有利于并行计算3、误差不会bai被传送 CBC模式1、不容易主动攻击,安全性好于baiECB,适合传输长度长的报文,是SSL、IPSec的标准。
两种模式的缺点 ECB模式1、不能隐藏明文的模式2、可能对明文进行主动攻击 CBC模式1、不利于并行计算2、误差传递3、需要初始化向量IV