crypto-js 加密解密 (TS版本)
AES
+ BASE64
算法加密
安装:
npm install crypto-js
npm install --save @types/crypto-js
创建配置文件:
import CryptoJS from 'crypto-js'export interface CrypotoType {encrypt: anydecrypt: any
}export default class Crypoto implements CrypotoType {key = CryptoJS.enc.Utf8.parse('123456789asdfghj') // 十六位十六进制数作为密钥iv = CryptoJS.enc.Utf8.parse('asdfghj123456789') // 十六位十六进制数作为密钥偏移量/* 加密 */encrypt (word: any) {const srcs = CryptoJS.enc.Utf8.parse(word)const encrypted = CryptoJS.AES.encrypt(srcs, this.key, { iv: this.iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 })return encrypted.ciphertext.toString().toUpperCase()}/* 解密 */decrypt (word: any) {const encryptedHexStr = CryptoJS.enc.Hex.parse(word)const srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr)const decrypt = CryptoJS.AES.decrypt(srcs, this.key, { iv: this.iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 })const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8)return decryptedStr.toString()}
}
使用:
<script lang="ts">
import { defineComponent, onBeforeMount, reactive, toRefs } from 'vue'// 引入
import Crypoto from '@/utils/CryptoJS'export default defineComponent({setup(props, ctx) {// 挂载const cry: any = new Crypoto()onBeforeMount(() => {/* 简单类型 */// 加密const str = '123'const encryptStr = cry.encrypt(str)console.log('encryptStr', encryptStr)// 解密const decryptStr = cry.decrypt(encryptStr)console.log('decryptStr', decryptStr)/* 复杂类型 */// 加密const dataItem: any = {name: 'wzc',code: 'key',}const encryptData = cry.encrypt(JSON.stringify(dataItem))console.log('encryptData', encryptData)// 解密const decryptData = cry.decrypt(encryptData)console.log('decryptData', JSON.parse(decryptData))})},
})
</script>
crypto-js 加密解密 (TS版本)相关推荐
- 微信小程序使用crypto.js加密解密
微信小程序中使用crypto.js crypto.js是用来进行AES加密的 注意AES在使用时有7个配置项,前后端加解密记着统一参数,测试时注意配置项的选择是否一致. 测试工具: AES加密测试工具 ...
- angular使用crypto.js加密
MD5加密 过程: 1.下载 npm install ts-md5 --save 2.在需要的组件引入 import { Md5 } from 'ts-md5'; 3.使用 console.log(M ...
- 使用windows crypto API加密解密
2019独角兽企业重金招聘Python工程师标准>>> 其实,使用windows API编程并不难,首先要有信心.MSDN提供了详细的帮助和指南,许多问题,只要详细查阅MSND,完全 ...
- JS加密解密对于asp.net解密加密
对于特殊数据传输,我们需要做到加密以及后台解密等! 一:js加密.asp.net解密 js:encodeURI(需要加密的变量) asp.net:Server.UrlDec ...
- 数据AES加密安全传输之前端JS加密解密
AES(Advanced Encryption Standard)是一种对称加密方式,旨在取代DES成为广泛使用的标准.我在前端实现关键数据报文加密时采用了该加密方式. 我使用的AES加密架包是cry ...
- 前端使用pako.js加密解密
之前在网上搜到的关于pako加密解密方法,其中加密方法有点问题,和解密方法不配套. 整理了下我自己最后修改的代码 zip = (str) => { let binaryString = pako ...
- python js加密解密_AES用cryptojs加密,用python解密加密Ciph
使用js CryptoJS加密和使用python解密时遇到问题密码密码在 这是我在js中的实现, 用加密消息附加iv并用base64编码 var message='Secreat Message to ...
- Auto.js加密解密|快照Snapshot解密|Dex转js|Auto.js庖丁下载|解除APP限制
Auto.js Pro升级到Ver3.1.0 |整合灵虫功能 增加一种加密方式 Ver3.1.0 更新日志 ☆☆ 解密增强 ☆☆ 增加一种解密方式:兼容方式. 兼容方式:支持Auto.js Pro8. ...
- 如何一键JS加密解密
JavaScript 混淆是一种将 JavaScript 代码进行重新编码的技术,目的是使代码难以阅读和理解.混淆的代码难以被盗用或破解,因为它看起来很乱而且难以理解. 解密混淆的 JavaScrip ...
- web前端url传递值 js加密解密
一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面 Javascript代码: <script type="text/java ...
最新文章
- 为啥总让我“先去博客园其他网站逛逛”?
- 九、给小白看的第二篇Python基础教程
- 机器人写诗项目——递归神经网络(RNN)
- 【实例分割】cvpr2021_Look Closer to Segment Better
- display详细说明
- 解决http://localhost:3000/favicon.ico 的404 问题(含案例解析)
- 通过谷歌API验证地址是否存在 How Google’s Geocoding solves Address Validation
- 多个html页面拼接成一个页面_浏览器渲染页面机制以及如何减少DOM操作
- sqlserver中某列转成以逗号连接的字符串及逆转、数据行转列列转行
- 零基础学python图文版-如何快速创建投票页面 | 腾讯问卷怎么用_什么值得买
- python详细安装教程-python详细安装pip教程
- 一些非常实用的电脑技术小技巧、经验、心得
- TR外汇黑平台资金盘深度揭秘,谨防上当受骗,迟早会跑路
- CAD中属性编辑操作——对象属性
- deepfacelab安卓版_deepfacelab
- Python sys模块常见函数
- Flash视频教程一把抓,自动获取Flash教程----谭石南
- SpringBoot实现发送QQ邮箱验证码
- 去除影像黑边-修改影像背景值-比Envi影像去除黑边-ArcGIS去除影像黑边-好用
- 【Leetcode】周赛204 罗布乐思
热门文章
- java尚硅谷 java基础第一个项目,记账软件
- 在opencv使用发现轮廓函数时出现-vector subscript out of range的问题
- APS计划排产软件在食品饮料行业的应用
- 一个SparkSQL作业的一生
- 《预告 》 明天(9月19日),中国科学院自动化研究所首届智能决策论坛即将开幕!(附带10+位作者演讲主题及摘要)...
- win7设置定时开关机
- cpu倍频模式怎么调_BIOS:增加倍频比率调整选项
- html5魔塔样板快速上手,《梦幻模拟战》魔塔攻略|先人一步,快速上手梦战自走棋指南...
- 无线鼠标没反应怎么办
- 使用cp命令提示:略过目录...