位置: IT常识 - 正文

使用sm4js进行加密和国密sm4的总结

编辑:rootadmin
使用sm4js进行加密和国密sm4的总结

推荐整理分享使用sm4js进行加密和国密sm4的总结,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在开发过程中,用到了sm4国密加密,因为之前没有用过,所以就想总结一下。

先说一下怎么安装使用(vue项目)

1、先安装sm4jsnpm i sm4js使用sm4js进行加密和国密sm4的总结

在package.json中显示sm4js的版本如下:

"dependencies": { "axios": "^1.3.2", "sm4js": "^0.0.6"},2、安装完成之后在项目中怎么使用<script> import 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) } } }</script>3、国密sm4的总结

3.1 、SM算法 国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为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、密码分组链接(CBC,Cipher-block chaining)模式,由IBM于1976年发明,每个明文块先与前一个密文块进行异或后,再进行加密。在这种方法中,每个密文块都依赖于它前面的所有明文块。同时,为了保证每条消息的唯一性,在第一个块中需要使用初始化向量IV。

两种模式的优点: ECB模式:1、简单;2、有利于并行计算;3、误差不会bai被传送; CBC模式:1、不容易主动攻击,安全性好于baiECB,适合传输长度长的报文,是SSL、IPSec的标准。

两种模式的缺点: ECB模式:1、不能隐藏明文的模式;2、可能对明文进行主动攻击; CBC模式:1、不利于并行计算;2、误差传递;3、需要初始化向量IV

本文链接地址:https://www.jiuchutong.com/zhishi/298521.html 转载请保留说明!

上一篇:vue使用split()将字符串分割数组join()将数组转字符串reverse()将数组反转(vue split函数)

下一篇:python的django框架从入门到熟练【保姆式教学】第一篇(python的Django框架)

  • 一般纳税人的现金收入
  • 一般纳税人企业所得税是多少
  • 核定征收企业所得税应税所得率
  • 对公户取备用金怎么取
  • 折扣折让属于什么科目
  • 事假工资在税前扣除标准
  • 什么发票可以做替票
  • 设备使用率怎么计算公式
  • 企业所得税的应纳税所得额的扣除项目有哪些
  • 超标公积金应怎么办理
  • 保证金转租金的会计处理
  • 单位结算卡在pos渠道可办理的功能
  • 建筑企业资质使用对建造师补充要求
  • 小规模纳税人增值税优惠政策2023
  • 转销无形资产的处置流程
  • 非独立核算分公司怎么报税
  • 工程款发票遗失怎么处理
  • 三证合一地税号查询
  • 扣收手续费
  • 车间未完工的产品属于什么
  • 小规模开税票怎么开
  • 年终奖个人所得税怎么扣
  • 汽车行业销售折让
  • 网络端口被占用怎么解决
  • 商业承兑汇票承兑人可以是银行吗
  • 公司转账到支付宝有记录么
  • 免抵税额交地方教育附加吗
  • 小规模纳税人的企业所得税税率
  • 个税六项专项扣除是什么
  • gnaupdaemon.exe是什么
  • PHP:escapeshellcmd()的用法_命令行函数
  • 分配水电费会计分录需要写税吗?
  • php用法
  • api使用方法
  • thinkphp框架结构
  • 芒果sdk
  • vue pending
  • 微信小程序网页版
  • php 输出
  • 财政收入的收缴具体包括
  • 公司认缴的钱可以动吗
  • mongodb 统计
  • python local
  • 织梦标签教程
  • 民间非营利组织有哪些
  • 股票股利的资金来源
  • 残疾人就业保障金
  • 小公司没有财务软件怎么手工记账
  • 固定资产清理是资产类的备抵科目吗
  • 2021年购买土地需要缴纳什么税
  • 预收账款的账务处理
  • 预付账款和应付账款的区别与联系
  • 材料成本差异会计处理
  • 小规模纳税人所得税怎么计算
  • 购买固定资产的增值税计入成本吗
  • 待抵扣进项税额和待认证进项税额的区别
  • 单身租房子
  • 销售预算的重要性
  • 手工账的做账流程图
  • 出纳建账的基本流程
  • 建账的大体流程是什么
  • 总分类账户与明细分类账户的关系
  • windows下mysql 5.7版本中修改编码为utf-8的方法步骤
  • 最新版日历
  • u盘装系统win8
  • centos的top命令
  • win7把声音设备禁用了怎么要回来
  • linux系统中怎么输入中文
  • win7系统开机黑屏只有鼠标且打不开任务管理器
  • Win10 RS1 14267 SDK版本发布下载
  • 主流安卓开发
  • jquery设置鼠标样式
  • css ie6 ie7 ff的CSS hack使用技巧
  • ubuntu与centos命令区别
  • linux脚本自启
  • unityplayer安卓
  • 从零开始学什么技术
  • jQuery AjaxUpload 上传图片代码
  • 广东国税app安卓版网上预约
  • 税务申报扣除
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设