uni-app AES加密解密
uniapp里我知道的有两种aes加密解密方式。
一、引入crypto-js
1.需要在uniapp项目根目录里,打开命令行,执行如下命令:
npm install crypto-js
2.在项目根目录,创建一个utils文件夹,并创建一个aes_endecrypt.js文件
-
/**
-
* 工具类
-
*/
-
import Vue from 'vue'
-
import CryptoJS from 'crypto-js'
-
let keyStr = "abcde123456";//加密密钥
-
let ivStr = "yyuuide45678";//矢量
-
-
//加密
-
export function aes_encrypt(word){
-
keyStr = keyStr ? keyStr : 'hfhfuu8dolv98bt6';
-
var key = CryptoJS.enc.Utf8.parse(keyStr);
-
var iv = CryptoJS.enc.Utf8.parse(ivStr);
-
// var srcs = CryptoJS.enc.Utf8.parse(word);
-
var encrypted = CryptoJS.AES.encrypt(word, key, {
-
iv:iv,
-
mode:CryptoJS.mode.CBC,
-
padding: CryptoJS.pad.Pkcs7});
-
return encrypted.toString();
-
}
-
-
//解密
-
export function aes_decrypt(word){
-
keyStr = keyStr ? keyStr : 'hfhfuu8dolv98bt6';
-
var key = CryptoJS.enc.Utf8.parse(keyStr);//
-
var iv = CryptoJS.enc.Utf8.parse(ivStr);
-
// const restoreBase64 = word.replace(/\-/g,' ').replace(/_/g,'/');
-
var restoreBase64=word.replace(/[\r\n]/g,'');
-
-
var decrypt = CryptoJS.AES.decrypt(restoreBase64, key, {
-
iv:iv,
-
mode:CryptoJS.mode.CBC,
-
padding: CryptoJS.pad.Pkcs7});
-
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
-
}
3.在main.js文件中,引入方法,并注册为全局方法
-
import { aes_encrypt, aes_decrypt } from '@/utils/aes_endecrypt.js';
-
Vue.prototype.aes_encrypt = aes_encrypt;
-
Vue.prototype.aes_decrypt = aes_decrypt;
4.在页面中使用aes加密,解密
-
var encrypt = this.aes_encrypt('123456')
-
console.log('===encrypt===',encrypt);
-
var decrypt = this.aes_decrypt(encrypt)
-
console.log('===decrypt===',decrypt);
二、第二种方式:直接引入插件
1.在dcloud插件市场中搜索-传输加密,AES对称加密 (作者 ifloce)引入项目
2.项目main.js文件中,注册全局组件
-
import AES from '@/js_sdk/ar-aes/ar-aes.js'
-
Vue.prototype.AES = AES.AES
3. 在App.vue中,在methods中创建加密、解密方法
-
methods: {
-
//AES加密
-
aesEncrypt(encrypt){
-
//加密值
-
var e = this.AES.encrypt(encrypt,'1234567891234567','1234567891234567')
-
return e;
-
},
-
//AES解密
-
aesDecrypt(decrypt){
-
//解密值
-
var d = this.AES.decrypt(decrypt,'1234567891234567','1234567891234567')
-
return d;
-
},
-
},
4.在页面中使用aes加密解密方式
-
var encrypt = getApp().aesEncrypt('abcde123');
-
console.log('===encrypt===',encrypt);
-
var decrypt = getApp().aesDecrypt(encrypt);
-
console.log('===decrypt===',decrypt);
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhhjebee
系列文章
更多
-
Error in na.fail.default(list(Purchase = c(“CH“, “CH“, “CH“, “MM“, “CH“, : missing values in obj
-
[CTF] python的pip源更改和常用python库
-
LLaMA-2进行微调的FreeWilly2开源语言模型
-
首次vue加载页面,请求两个接口,后者接口需要依赖前者接口的数据去请求接口。
-
MobaXterm 连接服务器过指定连接数量默认14个Warning: you have reached the maximum number of saved sessions for the
-
C# excel的数据导入到数据库 数据库数据导出excel
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
excel图片置于文字下方的方法
PHP中文网 06-27 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信提示登录环境异常是什么意思原因
PHP中文网 04-09 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
微信人名旁边有个图标有什么用
PHP中文网 03-11