位置: IT常识 - 正文

vue普通加密以及国密SM2、SM3、sm4的使用(vue前端加密)

编辑:rootadmin
vue普通加密以及国密SM2、SM3、sm4的使用 相关网址

推荐整理分享vue普通加密以及国密SM2、SM3、sm4的使用(vue前端加密),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue加密 服务端解密,vue 代码加密,vue 加密解密,vue数据加密,vue 加密解密,vue sha256加密,vue数据加密,vue 加密,内容如对您有帮助,希望把文章链接给更多的朋友!

vue普通加密以及国密SM2、SM3、sm4的使用(vue前端加密)

sm-crypto:https://www.npmjs.com/package/sm-crypto

介绍1. SM2是非对称加密算法

它是基于椭圆曲线密码的公钥密码算法标准,其秘钥长度256bit,包含数字签名、密钥交换和公钥加密,用于替换RSA/DH/ECDSA/ECDH等国际算法。可以满足电子认证服务系统等应用需求,由国家密码管理局于2010年12月17号发布。

2.SM3是一种密码杂凑算法

用于替代MD5/SHA-1/SHA-2等国际算法,适用于数字签名和验证、消息认证码的生成与验证以及随机数的生成,可以满足电子认证服务系统等应用需求,于2010年12月17日发布。它是在SHA-256基础上改进实现的一种算法,采用Merkle-Damgard结构,消息分组长度为512bit,输出的摘要值长度为256bit。

3.SM4是一种分组密码算法

SM4算法是一种分组密码算法。其分组长度为128bit,密钥长度也为128bit。加密算法与密钥扩展算法均采用32轮非线性迭代结构,以字(32位)为单位进行加密运算,每一次迭代运算均为一轮变换函数F。SM4算法加/解密算法的结构相同,只是使用轮密钥相反,其中解密轮密钥是加密轮密钥的逆序

普通加密安装依赖npm install crypto-js新建utils/Crypto.js文件/**密码加密工具*/import CryptoJS from 'crypto-js'// 默认的 KEY 与 iv 如果没有给const KEY = CryptoJS.enc.Utf8.parse("12345678901234567890");const IV = CryptoJS.enc.Utf8.parse('12345678901234567890');/** * AES加密 :字符串 key iv 返回base64 */export const Encrypt = (word, keyStr, ivStr) => { let key = KEY; let iv = IV; if (keyStr) { key = CryptoJS.enc.Utf8.parse(keyStr); iv = CryptoJS.enc.Utf8.parse(ivStr); } let srcs = CryptoJS.enc.Utf8.parse(word); var encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }); return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);}/** * AES 解密 :字符串 key iv 返回base64 * * @return {string} */export const Decrypt = (word, keyStr, ivStr) => { let key = KEY; let iv = IV; if (keyStr) { key = CryptoJS.enc.Utf8.parse(keyStr); iv = CryptoJS.enc.Utf8.parse(ivStr); } let base64 = CryptoJS.enc.Base64.parse(word); let src = CryptoJS.enc.Base64.stringify(base64); let decrypt = CryptoJS.AES.decrypt(src, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }); let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); return decryptedStr.toString();}/** * 二次拼接:加密前解密后对密码二次处理,增加字符串常量 * * @return {string} */ export const passwordAddStr = 'testAdd'使用—加密import {Encrypt, passwordAddStr} from '@/util/Crypto.js'let password = '123123qwe' + passwordAddStrpassword = Encrypt(password)使用—解密import {Decrypt, passwordAddStr} from '@/util/Crypto.js'let passwordpassword = Decrypt(password).replace(passwordAddStr, '')SM2使用安装依赖npm install sm-crypto新建utils/Crypto.js文件/** * txt:要加密的字段 * * @return {string} */const sm2 = require('sm-crypto').sm2export const encrypt = (txt) => { const cipherMode = 1 ;// 1 - C1C3C2,0 - C1C2C3,默认为1 const publicKey = "秘钥" // 一般由后端定义 let encryptData = sm2.doEncrypt(txt, publicKey, cipherMode ) // 加密结果 return '04' + encryptData}使用—加密import {encrypt} from '@/util/Crypto.js'let password = '1234'password = encrypt(password)使用—解密由后端解密SM3使用安装依赖npm install sm-crypto新建utils/Crypto.js文件/** * txt:要加密的字段 * * @return {string} */const sm3 = require('sm-crypto').sm3export const encrypt = (txt) => { let encryptData = sm3(txt) // 加密结果 return encryptData}使用—加密import {encrypt} from '@/util/Crypto.js'let password = '1234'password = encrypt(password)使用—解密不可解密sm4使用安装依赖npm install sm-crypto新建utils/Crypto.js文件/** * txt:要加密的字段 * key:秘钥 * * @return {string} */const sm4 = require('sm-crypto').sm4export const encrypt = (txt, key) => { let encryptData = sm4.encrypt(txt, key) // 加密结果 return encryptData}使用—加密import {encrypt} from '@/util/Crypto.js'let password = '1234'password = encrypt(password)
本文链接地址:https://www.jiuchutong.com/zhishi/297433.html 转载请保留说明!

上一篇:保姆级Gmapping算法介绍到复现(保姆分为哪些级别)

下一篇:路径规划 | 图解D* Lite算法(附ROS C++/Python/Matlab仿真)(路径规划步骤)

  • 封口机不封口怎么回事(封口机不好用怎么办)

    封口机不封口怎么回事(封口机不好用怎么办)

  • 表格属性在布局选项卡的什么组中(表格属性在布局选项卡的哪里)

    表格属性在布局选项卡的什么组中(表格属性在布局选项卡的哪里)

  • 为什么购买了爱奇艺会员用不了(为什么购买爱奇艺一定要用苹果账户订阅呢)

    为什么购买了爱奇艺会员用不了(为什么购买爱奇艺一定要用苹果账户订阅呢)

  • 抖音发了作品怎么删(抖音发了作品怎么换音乐)

    抖音发了作品怎么删(抖音发了作品怎么换音乐)

  • kindle看书伤眼睛吗(用kindle看书伤眼吗)

    kindle看书伤眼睛吗(用kindle看书伤眼吗)

  • iphone11不能关机充电吗(iphone11手机不能关机)

    iphone11不能关机充电吗(iphone11手机不能关机)

  • 如何把哔哩哔哩的视频下载到本地(如何把哔哩哔哩视频转为MP3格式)

    如何把哔哩哔哩的视频下载到本地(如何把哔哩哔哩视频转为MP3格式)

  • 苹果6s充电开不了机怎么回事(苹果6s充电开不了机但一直闪白屏)

    苹果6s充电开不了机怎么回事(苹果6s充电开不了机但一直闪白屏)

  • hdmi转vga显示器没反应(hdmi转vga显示器不亮)

    hdmi转vga显示器没反应(hdmi转vga显示器不亮)

  • 华为售后寄修安全吗(华为 寄修)

    华为售后寄修安全吗(华为 寄修)

  • websphere是什么(websphere portal)

    websphere是什么(websphere portal)

  • 微信电话会议最多几个人(微信会议电话如何使用)

    微信电话会议最多几个人(微信会议电话如何使用)

  • 苹果型号MQ是什么意思(苹果手机型号mq什么意思)

    苹果型号MQ是什么意思(苹果手机型号mq什么意思)

  • 怎样查vivo手机型号(怎样查vivo手机是不是正品新机)

    怎样查vivo手机型号(怎样查vivo手机是不是正品新机)

  • 做热点的手机会中毒吗(做热点的手机会被监控吗)

    做热点的手机会中毒吗(做热点的手机会被监控吗)

  • 南瓜电影怎么取消自动续费(南瓜电影怎么取消)

    南瓜电影怎么取消自动续费(南瓜电影怎么取消)

  • 手机运行内存越来越小(手机运行内存越大玩游戏越流畅吗)

    手机运行内存越来越小(手机运行内存越大玩游戏越流畅吗)

  • 钉钉打卡照片怎么删除(钉钉打卡照片怎么不让别人看见)

    钉钉打卡照片怎么删除(钉钉打卡照片怎么不让别人看见)

  • 微信收藏语音转发不了(微信收藏语音转成笔记不能播放)

    微信收藏语音转发不了(微信收藏语音转成笔记不能播放)

  • gsicon.exe是什么进程 作用是什么 gsicon进程查询

    gsicon.exe是什么进程 作用是什么 gsicon进程查询

  • 一列火车穿过卡纳塔克邦的沙拉瓦蒂桥,印度 (© Amith Nag Photography/Getty Images)(一列火车穿过一条隧道,已知火车长450米,隧道长750米)

    一列火车穿过卡纳塔克邦的沙拉瓦蒂桥,印度 (© Amith Nag Photography/Getty Images)(一列火车穿过一条隧道,已知火车长450米,隧道长750米)

  • 一篇文章理解虚拟滚动原理(本文虚构)

    一篇文章理解虚拟滚动原理(本文虚构)

  • 从庞塞德莱昂河口向灯塔望去,佛罗里达州 (© Jason Sponseller/Shutterstock)(庞塞 德莱昂)

    从庞塞德莱昂河口向灯塔望去,佛罗里达州 (© Jason Sponseller/Shutterstock)(庞塞 德莱昂)

  • vue3 销毁组件方法(vue destroyed销毁组件)

    vue3 销毁组件方法(vue destroyed销毁组件)

  • 餐饮业小规模开发票开什么
  • 一般纳税人财务要求
  • 物流公司车子保险费怎么做账
  • 支付所得税属于筹资活动吗
  • 汇算清缴上年度金额怎么填
  • 汇算清缴的利润表本期数与本年数
  • 办理企业所得税汇算清缴的期限是
  • 公司收到转账支票怎么盖章
  • 增值税是购货方交还是销货方交
  • 固定资产待抵扣进项税率
  • 去税务局核定税种怎么填
  • 无偿使用期限为多少年
  • 公司增值税发票有限额吗
  • 应交增值税最后到哪了
  • 销售额没有达到要求企业采取措施
  • 制冷设备增值税税率
  • 其他应付款社保贷方余额怎么冲平
  • 发票分票怎么处理违章
  • 出口报关单有什么用
  • 电脑没组装好会怎么样
  • ios9.3.5如何越狱
  • 补缴增值税和滞纳税区别
  • 2017年8月21日是什么日子
  • 企业类型变更是什么意思
  • hpzts04.exe是什么进程 有什么作用 hpzts04进程查询
  • 增值税专用发票的税率是多少啊
  • 新会计准则开办费如何做账务处理
  • json解析格式
  • 市职工报销比例多少
  • yolov3多分类检测
  • 销项负数发票需要入账吗
  • phpcms模块
  • 计提本月房产税的纳税基数怎么算的
  • 个税网上申报流程视频
  • 应付债券相关分录
  • python lzo
  • 如何理解合并报表抵消分录
  • sql server概述
  • 企业合并发生的审计费用,评估费用
  • 兼职人员的个税怎么计算
  • 实际已缴纳所得税额怎么填
  • 个人与公司交易需要纳税吗
  • 主营业务收入计入借方还是贷方
  • 主营业务成本如何设置明细
  • 资产减值损失的科目编码
  • 法院拍卖得来的物品有发票吗
  • 认缴的注册资金怎么做账
  • 政府补贴收入确认政策
  • 酒店开办费包括哪些项目
  • 企业的未分配利润属于什么科目
  • 公司股东借款转私人账户
  • 中小型企业会计
  • 会计的职务是什么意思
  • 捐赠支出表怎么填
  • win7怎么删除win10系统
  • windows电脑设置
  • macbook os x
  • macbook pro怎么分区
  • 去掉电脑右下角显示的时间
  • cyb2k.exe是安全进程吗 cyb2k进程危险吗
  • 服务win10
  • WIN10专业版怎么查看操作位数
  • win7电脑无法正常启动系统
  • win10预览版桌面图标和任务栏不翼而飞怎么办?
  • Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
  • excel表限制
  • Xcode6 和 Cocos2dx3.1以下版本的不兼容问题
  • css标准规范
  • vue-resource + json-server模拟数据的方法
  • 用python编写简单程序
  • java语言基于对象
  • javascript总结笔记
  • python怎么用
  • python 字典的字典
  • python 观察者
  • 音频资料下载
  • 小规模纳税人购买车辆可以抵扣税吗
  • 中山市国家税务总局阜沙分局局长杨兴华
  • 税控盘清卡的步骤
  • 南宁市税务局稽查局领导
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设