uniapp里我知道的有兩種aes加密解密方式。
一、引入crypto-js
1.需要在uniapp項(xiàng)目根目錄里,打開命令行,執(zhí)行如下命令:
npm install crypto-js
2.在項(xiàng)目根目錄,創(chuàng)建一個utils文件夾,并創(chuàng)建一個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)引入項(xiàng)目
2.項(xiàng)目main.js文件中,注冊全局組件
import AES from '@/js_sdk/ar-aes/ar-aes.js'
Vue.prototype.AES = AES.AES
3. 在App.vue中,在methods中創(chuàng)建加密、解密方法
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加密解密方式文章來源:http://www.zghlxwxcb.cn/news/detail-641999.html
var encrypt = getApp().aesEncrypt('abcde123');
console.log('===encrypt===',encrypt);
var decrypt = getApp().aesDecrypt(encrypt);
console.log('===decrypt===',decrypt);
?文章來源地址http://www.zghlxwxcb.cn/news/detail-641999.html
到了這里,關(guān)于uniapp AES加密解密的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!