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加密解密方式文章来源:https://www.toymoban.com/news/detail-641999.html
var encrypt = getApp().aesEncrypt('abcde123');
console.log('===encrypt===',encrypt);
var decrypt = getApp().aesDecrypt(encrypt);
console.log('===decrypt===',decrypt);
文章来源地址https://www.toymoban.com/news/detail-641999.html
到了这里,关于uniapp AES加密解密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!