位置: 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框架)

  • 小规模纳税人企业所得税计算
  • 息税前利润的计算公式EBIT
  • 生产成本怎么核实
  • 电子承兑转出后银行有凭证吗
  • 投资性房地产收入计入什么科目
  • 销售收入做账属于什么凭证
  • 个人车卖给公司能抵税吗
  • 天猫的费用一共17个分别是什么
  • 物业公司哪些费用需要公示
  • 利息保障倍数计算公式资本化利息
  • 负债减少在什么方
  • 属于制造费用的有
  • 增值税留抵还需要交税吗
  • 作废发票 红字发票
  • 小规模装饰公司干150万的活开专票需要多少钱
  • 暂估成本冲回之后成本变为负的
  • 通用日记账核算方法
  • 研发费用如何界定
  • 资本增值是什么
  • 支付教育培训费
  • 电子账册需要缴纳印花税的规定是怎么说?
  • 三代税款手续费是什么意思
  • 对个体工商户个人的认识
  • 房租付款和发票有关系吗
  • 英雄联盟电脑软件图片
  • 关闭通知横幅
  • 实收资本属于会计准则吗
  • 新版Win10中,如何仅修改部分文本大小
  • 预缴税款是否计入成本
  • windows7怎样升级windows10
  • php处理的图片格式是什么
  • 经营租赁与融资租赁的含义
  • 什么是原始凭证?审核原始凭证主要审查哪些内容?
  • 转让股权企业所得税怎么计算
  • 前端 php
  • vuejs动态加载组件
  • 二连浩特老照片
  • 搜索人工制造
  • vue3技巧
  • logparser命令
  • 货币盘盈盘亏账怎么算
  • 研发支出资本化支出属于什么科目
  • phpcms是什么框架
  • java mongodb模糊查询
  • 补发以前年度工资
  • 增值税专票怎么交税
  • 合并报表调整分录理解
  • 工业企业库存商品的初始入账成本
  • 纳税申报表期末未缴税额什么意思
  • 小规模企业税收优惠政策2022
  • 销售产品领用单独计价的包装物2000元,售价2400元
  • 发票开错没有作废可以红字冲销吗?
  • 税交多了可以退吗
  • 抵扣认证的发票怎么冲红
  • 兼职工资怎么做账
  • 母子公司往来款是否涉及交税
  • 企业经营规模小怎么办
  • 查询sql server版本
  • winxp开机启动程序
  • SIMETER.EXE - SIMETER是什么进程 有什么用
  • win10系统无法登陆
  • win10 sfc命令
  • linux如何绑定域名
  • linux openfoam
  • Cocos2dx------从json文件读取数据
  • c#+unity3d
  • js分页逻辑
  • node.js gui
  • js date用法
  • itertools.permutations
  • 深入理解javascript特性.pdf
  • jquery怎么遍历
  • 安卓打造世界中文全dlc
  • unity 3d 介绍
  • jQuery+Ajax实现限制查询间隔的方法
  • 国家税务总局使用
  • 如何税务监管更精准
  • 取得土地使用权后两年未开发
  • 电脑有网为什么不能用
  • 登录上海电子税务局显示获取公告失败
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设