vue项目中使用crypto-js实现加密解密方式
更新时间:2024年05月16日 11:02:13 作者:A_ugust__
这篇文章主要介绍了vue项目中使用crypto-js实现加密解密方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
vue使用crypto-js实现加密解密
注意:
crypto-js加密后可自行选择是否转为base64,也需要后端配合加解密方法
npm install crypto-js
uitls新建文件夹screate.js
const CryptoJS = require('crypto-js'); //引用AES源码js const key = CryptoJS.enc.Utf8.parse("1234123412ABCDEF"); //十六位十六进制数作为密钥 // const iv = CryptoJS.enc.Utf8.parse('ABCDEF1234123412'); //十六位十六进制数作为密钥偏移量 可用可不用 //加密方法 export function Encrypt(word:any){ // 法一:加密后转化为base64 // let srcs = CryptoJS.enc.Utf8.parse(word); // let encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); // return encrypted.ciphertext.toString(); // 法二:不转 let srcs = CryptoJS.enc.Utf8.parse(word); let encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString(); } //解密方法 export function Decrypt(word:any){ // 法一:对应解密 // let encryptedHexStr = CryptoJS.enc.Hex.parse(word); // let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr); // let decrypt = CryptoJS.AES.decrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); // let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); // return decryptedStr.toString(); // 法二: var decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}); return CryptoJS.enc.Utf8.stringify(decrypt).toString(); }
使用
参数是对象的话,加密需要 JSON.stringify(),解密需要JSON.parse()
getData(){ letparams = { "appId": '0000', "bizData": { "appName": '测试名称', "authMode": "0x1113" }, "bizType": 1000 } var aa = Encrypt(JSON.stringify(params)) console.log(aa, '加密') searchHandle('/xxx/xxx/xxx', aa).then(res=>{ console.log('接口返回',res.data) var dd = JSON.parse(Decrypt(aa)) console.log(dd, '解密') if(res.data.code === 0){} }) }
使用crypto-js时报错TypeError: Object(...) is not a function
控制台报错
如下:
原因
引入Encrypt时方式错误,少加了{}
正确形式:
import { Encrypt } from "../plugins/encoder";
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- js前端加密库Crypto-js进行MD5/SHA256/BASE64/AES加解密的方法与示例
- JavaScript实现的前端AES加密解密功能【基于CryptoJS】
- JS使用插件cryptojs进行加密解密数据实例
- VueJs里利用CryptoJs实现加密及解密的方法示例
- 使用JS前端加密库sm-crypto实现国密sm2、sm3和sm4加密与解密
- 前端CryptoJS加密、后端JAVA解密代码实现参考
- JS使用 cryptojs加密解密(对称加密库)的问题
- vue项目之前端CryptoJS加密、解密代码示例
- vue用CryptoJS加密,java用CryptoUtil解密
- crypto-js对称加密解密的使用方式详解(vue与java端)
相关文章
vue线上部署请求接口报错net::ERR_CONNECTION_REFUSED
vue线上部署请求接口报错net::ERR_CONNECTION_REFUSED问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-06-06Vue-cli Eslint在vscode里代码自动格式化的方法
本篇文章主要介绍了Vue-cli Eslint在vscode里代码自动格式化的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-02-02
最新评论