小程序中 使用 aes 进行加密解密处理 - 有匪

时间:2024-03-11 21:47:27

小程序中 使用 aes 进行加密解密处理

小程序项目中有个叫 utils 文件目录。

在utils中创建一个aes.js文件,然后从这个网址下载aes.js文件(https://github.com/lianghl0717/AES/blob/master/AES.js)并把内容复制进去即可。

在utils文件里面的 util.js 文件里面 引入aes.js 文件。

util.js 代码如下:

var CryptoJS = require(\'./aes.js\');
var _KEY = "";//32位
var _IV = "" ;//16位    //这个key和偏移量都是后台给的数据

//字符串加密方法
function encrypt(str){
    var key = CryptoJS.enc.Utf8.parse(_KEY);
var iv = CryptoJS.enc.Utf8.parse(_IV);
var encrypted = \'\';
var srcs = CryptoJS.enc.Utf8.parse(str);
encrypted = CryptoJS.AES.encrypt(srcs,key,{
iv:iv,
mode:CryptoJS.mode.CBC,
padding:CryptoJS.pad.Pkcs7
})
return encrypted.ciphertext.toString(); }

//字符串解密方法
function decrypt(str){
var key = CryptoJS.enc.Utf8.parse(_KEV);
var iv = CryptoJS.enc.Utf8.parse(_IV);
var encryptedHexStr = CryptoJS.enc.Hex.parse(str);
var srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
var decrypt = CryptoJS.AES.decrypt(srcs,key,{
iv:iv,
mode:CryptoJS.mode.CBC,
padding:CryptoJS.pad.Pkcs7
})
var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}

module.exports = {
decrypt:decrypt,
encrypt:encrypt
}

使用方法  代码如下:

//要先引入util.js 文件
var Utils = require(\'../../utils/util.js\');//相对路径
Page({
       data:{
       },
       //例如某个方法使用解密或加密
       someFun:function(){
            let param = 12;
            let encParam = Utils.encrypt(param); //文件名.方法名  加密
let decParam = Utils.decrypt(encParam);//解密 } })