位置: 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仿真)(路径规划步骤)

  • 一键还原是什么意思(一键还原有用吗)

    一键还原是什么意思(一键还原有用吗)

  • xsmax充电发热(xsmax充电发热卡顿)

    xsmax充电发热(xsmax充电发热卡顿)

  • 闲鱼举证没发票怎么办(闲鱼卖家不举证一般谁赢)

    闲鱼举证没发票怎么办(闲鱼卖家不举证一般谁赢)

  • 充会员能恢复几个火花(充会员能恢复几次信誉)

    充会员能恢复几个火花(充会员能恢复几次信誉)

  • 苹果手机怎么加速(苹果手机怎么加手写键盘输入法)

    苹果手机怎么加速(苹果手机怎么加手写键盘输入法)

  • 手机卡慢什么原因怎么解决(手机卡慢该怎么办)

    手机卡慢什么原因怎么解决(手机卡慢该怎么办)

  • 录抖音怎么能挣钱(录抖音视频怎么赚钱)

    录抖音怎么能挣钱(录抖音视频怎么赚钱)

  • 惠普打印机加墨后还是提示不足(惠普打印机加墨后怎么操作才能打印)

    惠普打印机加墨后还是提示不足(惠普打印机加墨后怎么操作才能打印)

  • 华为畅联通话支持哪些机型(华为畅联通话支持哪些手机型号)

    华为畅联通话支持哪些机型(华为畅联通话支持哪些手机型号)

  • 快手粉丝从黑名单移出后为什么就没有了(快手粉丝黑名单怎么解除)

    快手粉丝从黑名单移出后为什么就没有了(快手粉丝黑名单怎么解除)

  • 小米mix2s充电多少w(小米mix2s充电慢耗电快)

    小米mix2s充电多少w(小米mix2s充电慢耗电快)

  • 智行和12306是一家吗(智行和12306是一个账号吗)

    智行和12306是一家吗(智行和12306是一个账号吗)

  • 正常监控可以保存多久(正常监控可以保存多久干洗店)

    正常监控可以保存多久(正常监控可以保存多久干洗店)

  • 苹果7双4g是什么意思(苹果7有双网通吗)

    苹果7双4g是什么意思(苹果7有双网通吗)

  • 苹果xsmax有没有耳机孔(苹果xsmax有没有红外线)

    苹果xsmax有没有耳机孔(苹果xsmax有没有红外线)

  • 什么叫4k超高清(什么叫4k超高清视频)

    什么叫4k超高清(什么叫4k超高清视频)

  • 手机云空间怎么清理(手机云空间怎么打开)

    手机云空间怎么清理(手机云空间怎么打开)

  • 小米手环1怎么连接手机(小米手环1怎么开机)

    小米手环1怎么连接手机(小米手环1怎么开机)

  • gp电池是充电电池吗(gp电池是充电电源吗)

    gp电池是充电电池吗(gp电池是充电电源吗)

  • win7网页字体如何更改(电脑网页字体)

    win7网页字体如何更改(电脑网页字体)

  • 联通hd怎么开(中国联通hd怎么开)

    联通hd怎么开(中国联通hd怎么开)

  • windows未能启动(windows未能启动,原因可能是最近更改了硬件或软件)

    windows未能启动(windows未能启动,原因可能是最近更改了硬件或软件)

  • 怎样加入黑名单电话(短信怎样加入黑名单)

    怎样加入黑名单电话(短信怎样加入黑名单)

  • 联想手机如何截屏快捷键(联想手机如何截长屏)

    联想手机如何截屏快捷键(联想手机如何截长屏)

  • 什么是计算机动画制作(什么是计算机动画艺术?)

    什么是计算机动画制作(什么是计算机动画艺术?)

  • vivo如何退出安全模式(vivo手机怎么退出安全系统)

    vivo如何退出安全模式(vivo手机怎么退出安全系统)

  • 农产进项税是多少税率
  • 预付和预收可以合并吗
  • 实收资本认缴怎么缴纳印花税
  • 收到投资款需要缴纳什么税
  • 成本收入不配比的风险有哪些
  • 资产负债表损益表模板
  • 分期付款方式销售货物什么时候确认收入
  • 认缴注册资本的风险
  • 个人转让住房要交哪些税费?
  • 怎么计提应交税费
  • 年度纳税申报时间规定
  • 高温补贴领取
  • 全额收取员工的社保的会计分录怎么写?
  • 现金买东西可以退吗
  • 以前年度的税金及附加
  • 手撕发票的税点是多少
  • 规避税收风险什么意思
  • 288000元大写怎么写
  • 预付油卡怎么入账
  • 质保金付款时怎么付
  • 工资结算天数
  • 企业收到外部水电费如何做账?
  • win11无法打开英雄联盟
  • 以前年度费用漏记了怎么办小企业会计准则
  • 无形资产的增值税怎么算
  • php写json
  • 喜加一平台
  • PHP:pg_options()的用法_PostgreSQL函数
  • 自定义修改器
  • 怎么做外资企业赚钱
  • framework4.0怎么打开
  • 机动车空白发票作废税务局需要提供说明
  • 芒通,法国 (© Flavio Foglietta/Getty Images)
  • 支付劳务费时是什么科目
  • vue自定义日历组件
  • php数字增1
  • network python
  • 服务业的增值税
  • smart模板教程
  • webgl1.0
  • 负数发票的销售成本怎么做?
  • GCC strict aliasing – 嫉妒就是承认自己不如别人
  • 增值税的税目和税率
  • 购入固定资产的会计处理
  • 限定性净资产的限定主体是
  • mysql的索引是什么
  • 个体户个税计算公式
  • sqlserver数据库事务
  • 处置使用过的固定资产,税率按多少
  • 兼营和混合销售怎么区分
  • 股东不任职,是否可以参与企业经营
  • 营业收入是指从全部营业收入中扣除
  • 逾期未认证的增值税发票处理办法
  • 购礼品送客户分账务处理怎么做
  • 出口收汇手续费需要在出口退税时扣除吗
  • 贸易中的发票抵押和发票融资
  • 挂靠人员社保缴费分录如何做?
  • 小规模纳税人发票可以抵扣吗
  • 税控盘开具发票怎么冲红?
  • 可供出售金融资产是指什么
  • sql server储存过程的创建与使用
  • mysql数据库隐藏指定内容
  • centos 7.5 7.6
  • wupdated.exe - wupdated是什么进程
  • mac上怎么查看qq聊天记录
  • macbookair如何删除
  • win8 怎么样
  • window10使用ie8
  • javascript的理解
  • Extjs优化(一)删除冗余代码提高运行速度
  • jquery输入框改变事件
  • web标准网页布局的背景
  • 浅谈自己对教育的理解
  • python datetime.now
  • jquery 异步提交表单
  • 电子税务局财务报表利润表本期金额
  • 地税怎么查个人所得税
  • 车船税单独交行吗
  • 中国税务报订阅电话
  • 用实际行动践行中国税务精神
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设