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

  • 计提住房公积金怎么算
  • 个体工商户需要交税吗?怎么交?
  • 增值税减免税申报明细表免税代码和名称
  • 进项票丢了,假如税不抵了,怎么做账
  • 收据能入账抵税吗
  • 核定征收率怎么算的
  • 公对公不开票怎么办
  • 属于劳务分包合同
  • 税收的优惠性政策包括哪些
  • 会计凭证的内容中应包括会计分录
  • 审计范围包括什么内容
  • 小企业核算其它货币资金包括哪些?
  • 审计人员的差旅费放在哪核算
  • 销项税没有进项税多
  • 开增值税专用发票需要合同吗
  • 小规模怎样计算进项税额
  • 私营公司可以构成单位犯罪吗
  • 低值易耗品与固定资产有相同的特征,表现在哪里?
  • win11开机蓝屏怎么解决
  • 贴息贷款利息怎么入账
  • 销货退回与折让是什么
  • macos big sur卡在
  • 系统托盘图标禁用
  • rundll32.exe应用程序错误 win7
  • php获取文件内容的函数
  • php文库系统
  • 寓意幸福和团圆的网名
  • uniapp实战
  • 知名个人网站
  • 开源项目网站
  • 增值税农产品免税是哪一条
  • 汽车租赁业务是否属于租赁服务
  • 增值税纳税申报表怎么填
  • 小规模纳税人需要缴纳个人所得税吗
  • 紫白择日法实例详解
  • 计提工资的时候跟发放的时候不一样怎么办
  • 经营活动现金流量比率
  • 营改增后的劳务费怎么开
  • 房东房租不开票违法吗
  • 跨月的凭证出错如何处理
  • 撤回或减少投资所得税处理
  • 什么叫做增值税的新增价值呢
  • 小规模纳税人结转增值税的账务处理
  • 公司股权变更如何合理避税
  • 核销贷款收回账务怎么做
  • 成本法和权益法的转换
  • 《新会计准则》
  • 财付通交易手续费多少
  • 存货科目包括哪几类
  • 哪些固定资产不计提折旧
  • 息税前利润是什么税之前
  • sql中varchar和number比较
  • mysql 数据库
  • sql多表连接查询
  • windows11技术预览版
  • 在Linux系统中安装虚拟window
  • uzqkst.exe - uzqkst是什么进程
  • win7系统设置自动关机
  • 无法识别的选项
  • 虚拟机的ubuntu
  • sgrmbroker.exe是什么进程
  • 如何禁止win10系统更新到win11
  • win10关机快捷键
  • win10系统中怎么删除日志文件
  • linux文件复制到windows
  • Win8系统怎么安装
  • opengl帧缓冲
  • opengl教程48讲
  • javascript 异步操作
  • 使用jquery操作dom
  • 自定义仪表盘的价值
  • javascript html5实现表单验证
  • Using Django with GAE Python 后台抓取多个网站的页面全文
  • Javascript字符串长度
  • 税务行业微信缴税项目是什么
  • 国家税务总局介绍
  • 小规模纳税人税费怎么算
  • 工业生产和农业生产区别
  • 如何发挥人才作为第一资源 护理
  • 税务ukey登录界面
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设