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

  • 社交网络推广的内幕(社交网站产品推广)

    社交网络推广的内幕(社交网站产品推广)

  • 惠普笔记本质量好(惠普笔记本质量如何)(惠普笔记本质量怎么样)

    惠普笔记本质量好(惠普笔记本质量如何)(惠普笔记本质量怎么样)

  • 淘宝旺旺会员名在哪里找(淘宝旺旺会员名怎么改)

    淘宝旺旺会员名在哪里找(淘宝旺旺会员名怎么改)

  • 抖音盛典票有什么用(抖音盛典活动)

    抖音盛典票有什么用(抖音盛典活动)

  • 华为手机mate30无线充电功能在哪里设置(华为手机mate30无线充电)

    华为手机mate30无线充电功能在哪里设置(华为手机mate30无线充电)

  • 腾讯视频手机上如何下载视频(腾讯视频手机上怎么扫码登录)

    腾讯视频手机上如何下载视频(腾讯视频手机上怎么扫码登录)

  • 腾讯会议离开界面会被发现吗(腾讯会议离开界面发言)

    腾讯会议离开界面会被发现吗(腾讯会议离开界面发言)

  • 钉钉听筒模式怎么转换扬声器(钉钉怎么设置听筒听语音)

    钉钉听筒模式怎么转换扬声器(钉钉怎么设置听筒听语音)

  • 华为手机面部识别怎么设置(华为手机面部识别)

    华为手机面部识别怎么设置(华为手机面部识别)

  • 通过微信号添加说明是认识人么(通过微信号添加的好友怎么查手机号)

    通过微信号添加说明是认识人么(通过微信号添加的好友怎么查手机号)

  • hdd网络上什么意思(hdd是什么意思网络用语)

    hdd网络上什么意思(hdd是什么意思网络用语)

  • 相机的对焦系统一般都会按照哪些规律来选择对焦点?(相机的对焦系统一般都会)

    相机的对焦系统一般都会按照哪些规律来选择对焦点?(相机的对焦系统一般都会)

  • qq视频通话怎么关闭自己的声音

    qq视频通话怎么关闭自己的声音

  • 微信朋友删除了能恢复吗(微信朋友删除了对方还能看到吗)

    微信朋友删除了能恢复吗(微信朋友删除了对方还能看到吗)

  • minidp接口是干啥的(minidp接口图标带d)

    minidp接口是干啥的(minidp接口图标带d)

  • 家里有网线可不可以直接买路由器使用无线网(家里有网线可不可以直接买路由器就可以装电脑了)

    家里有网线可不可以直接买路由器使用无线网(家里有网线可不可以直接买路由器就可以装电脑了)

  • qq可以发多大的文件(qq可以发多大的压缩包文件)

    qq可以发多大的文件(qq可以发多大的压缩包文件)

  • 手机ip相同是什么意思(手机ip地址一样说明什么原因)

    手机ip相同是什么意思(手机ip地址一样说明什么原因)

  • 华为nova震动在哪调(华为nova5震动失效)

    华为nova震动在哪调(华为nova5震动失效)

  • 抖音作品怎么设置成私密(抖音作品怎么设置不让别人下载)

    抖音作品怎么设置成私密(抖音作品怎么设置不让别人下载)

  • 天猫88会员怎么退(天猫88会员怎么领取网易云会员)

    天猫88会员怎么退(天猫88会员怎么领取网易云会员)

  • 苹果x来消息闪灯怎么设置(苹果x消息闪光灯怎么打开)

    苹果x来消息闪灯怎么设置(苹果x消息闪光灯怎么打开)

  • 苹果id锁是什么(苹果手机有id锁怎么破解)

    苹果id锁是什么(苹果手机有id锁怎么破解)

  • ipad如何显示电脑版网页(ipad如何显示电量小组件)

    ipad如何显示电脑版网页(ipad如何显示电量小组件)

  • 苹果电脑怎么切换系统(苹果电脑怎么切换中英文)

    苹果电脑怎么切换系统(苹果电脑怎么切换中英文)

  • lmgrd.exe是什么进程 有什么用 lmgrd进程查询(imgrd.exe是什么)

    lmgrd.exe是什么进程 有什么用 lmgrd进程查询(imgrd.exe是什么)

  • Web自动化测试怎么做?Web自动化测试的详细流程和步骤(web 自动化测试)

    Web自动化测试怎么做?Web自动化测试的详细流程和步骤(web 自动化测试)

  • 商品混凝土税率为啥是3%
  • 土地使用税的纳税义务人
  • 增值税的计税依据是什么
  • 资产负债表里的应收账款怎么取数
  • 机械租赁税率是10个点还是9个点
  • 主营业务成本的数据从哪里来的
  • 个人所得税税前扣除是什么意思
  • 结构性存款质押 叫停
  • 消费税的应纳税额的计算
  • 出口退税的发票怎么做账
  • 计提的工会经费怎么做账
  • 有限责任公司减资的法律规定
  • 免税农产品如何填报企业所得税季报
  • 工程项目增值税税率
  • 将资产货物用于业务宣传增值税
  • 税控系统服务
  • 房地产分期开发的标准
  • 个税怎么计算扣多少
  • 供暖税收分类编码是多少
  • 种香菇会赔钱吗
  • 保证金利息收入怎么开票
  • 应交税金的明细科目
  • 餐饮发票忘记作废也没冲红怎么处理?
  • 无票收入的账务怎么处理
  • 来料加工需要交税吗
  • mac死机什么原因
  • 增值税中的视同销售区分为几种情况?
  • PHP:mb_ereg_search_regs()的用法_mbstring函数
  • 销售人员领用材料
  • 慈善总会捐赠流程
  • 圣伊利亚斯山
  • php字符串型数据的定义方式
  • 加班车费报销计入什么科目
  • 企业备用金多久还款
  • pniopcac.exe是什么进程
  • 企业受赠业务的法律规定
  • 未分配收益怎么取出
  • 常见造成账目差异的原因
  • 蓝山公馆的房子怎么样
  • 固定资产的使用寿命超过一个会计年度
  • php 模拟post
  • 预付装修费的会计处理分录
  • java pdf生成工具
  • php框架自动加载
  • springcloud分布式微服务组件
  • 更新php文件
  • 厂房办公用品费用怎么算
  • 工厂道路设计规范
  • 如何快速删掉通讯录联系人
  • 拍卖车牌收入需要缴纳什么税
  • 单位买车和个人买车交税有何不同
  • 个体工商户个税多久申报一次
  • 公共电话亭的话费怎么算
  • 房地产行业账务处理和主要税种
  • 支付快递费怎么做账
  • 企业汇算清缴调整费用后资产负债表怎么改
  • 会计准则允许预提吗
  • 跨年收入会计分录
  • 股权激励有几种形式
  • 发票认证是为了什么
  • 普通发票的开具是怎样?
  • 明细账建账的步骤
  • mysql查询包含
  • win10 更新 蓝屏
  • mac系统自带的杀毒软件
  • centos7关闭kdump
  • netsh cmd
  • linux几种安装方式
  • 电脑死机常见原因分析
  • Windows Server 8 ADDS轻松几步搞定密码个性化设置
  • win7系统开机后很卡什么原因
  • 免安装版怎么用
  • win8wifi设置在哪
  • div+css布局的步骤
  • pycharm编程入门
  • vuerouter嵌套路由
  • 网站备份工具
  • js判断数据是否存在
  • js倒计时秒杀
  • 深圳市税务审批中心电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设