前端和小程序加密 crypto-js的使用
2019-05-19 本文已影响0人
低调的颜某人
安装crypto-js
npm install crypto --save
引入
小程序
通过官方方式构建包,具体方式见官方
在任何js文件中都可以引入npm包
var CryptoJS = require("crypto-js");
在utils目录下新建code.js
var CryptoJS = require("crypto-js");
const key = '9vApxLk5G3PAsJrM';
const iv = 'FnJL7EDzjqWjcaY9';
function decode(word) {
let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
let decrypt = CryptoJS.AES.decrypt(srcs, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
function encode(data) { //加密
var parseKey = CryptoJS.enc.Utf8.parse(key);
var parseIV = CryptoJS.enc.Utf8.parse(iv);
var encrypted = CryptoJS.AES.encrypt(data, parseKey, {
iv: parseIV,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.ciphertext.toString(); //返回的是hex格式的密文,encrypted.toString()返回base64格式
}
module.exports= {
decode,
encode
}
具体使用aes-128、aes-192或者aes-256,视key和iv的字节而定,
16字节使用128,24字节使用192,32字节使用256,默认使用256
在其他js文件引入即可
还有其他的算法,官方API文档
nodeJs加密使用
可以用在加密请求参数上,就无法在控制台查看到请求的字段