废话不多啥、引用aes.js 文件
地址:https://github.com/chenfugen/test/blob/master/mqtt-AES/utils/aes.js
提示:这个文件可以调用AES加密 的ECB、CBC等模式,需要自己在封装的(如下)文件中添加。
创建封装加密解密的函数文件encAndDes.js,供小程序的页面使用
废话不多啥、引用aes.js 文件
地址:https://github.com/chenfugen/test/blob/master/mqtt-AES/utils/aes.js
提示:这个文件可以调用AES加密 的ECB、CBC等模式,需要自己在封装的(如下)文件中添加。
创建封装加密解密的函数,供小程序的页面使用
var CryptoJS = require('./aes.js') //引用文件
//AES-128-CBC加密模式,key需要为16位,key和iv可以一样
/*
* [encrypt 加密]
*/
function Encrypt(content,key) {
var key = CryptoJS.enc.Utf8.parse(key); //abcdefghigkliopk密码,16位
var encryptResult = CryptoJS.AES.encrypt(content, key, {
iv: CryptoJS.enc.Utf8.parse("0102030405060708"), //0102030405060708偏移量,16位
mode: CryptoJS.mode.ECB, //aes加密模式cbc
padding: CryptoJS.pad.Pkcs7 //填充
});
var result = String(encryptResult);//把object转化为string
return result
}
/*
* [decrypt 解密]
*/
function Decrypt(content,key) {
var key = CryptoJS.enc.Utf8.parse(key);
var bytes = CryptoJS.AES.decrypt(content.toString(), key, {
iv: CryptoJS.enc.Utf8.parse("0102030405060708"),
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
var decryptResult = bytes.toString(CryptoJS.enc.Utf8);
return decryptResult
}
module.exports = {
Encrypt,
Decrypt
}
页面中调用
import jm from './utils/encAndDes.js'
// 要加密的字符串
var dataArr = "897F59650100012301010157527002969000020119123944191231044ffff19120309442507";
var key ="hadlinksaeskey00" //密钥
var data = jm.Encrypt(dataArr,key);
console.log("加密", data);
var jdata = jm.Decrypt(data,key);
console.log("解密", jdata);
页面中调用
import jm from './utils/encAndDes.js'
// 要加密的字符串
var dataArr = "897F59650100012301010157527002969000020119123944191231044ffff19120309442507";
var key ="hadlinksaeskey00" //密钥
var data = jm.Encrypt(dataArr,key);
console.log("加密", data);
var jdata = jm.Decrypt(data,key);
console.log("解密", jdata);