var crypto = require('crypto');
var aesutil = module.exports = {};
/**
* aes加密
* @param data 待加密内容
* @param key 必须为32位私钥
* @returns {string}
*/
aesutil.encryption = function (data,key,iv) {
iv = iv || "";
var clearEncoding = 'utf8'var cipherEncoding = 'base64'var cipherChunks = [];
var cipher = crypto.createCipheriv('aes-256-ecb',iv);
cipher.setAutoPadding(true);
cipherChunks.push(cipher.update(data,clearEncoding,cipherEncoding));
cipherChunks.push(cipher.final(cipherEncoding));
return cipherChunks.join('');
}
*
* aes解密
* @param data 待解密内容
* @param key 必须为32位私钥
* @returns {string}
aesutil.decryption = if (!data) {
return "";
}
iv = iv || ""var decipher = crypto.createDecipheriv('aes-256-ecb');
cipherChunks.push(decipher.update(data,cipherEncoding,clearEncoding));
cipherChunks.push(decipher.final(clearEncoding));
);
}
var key = "12345678" //秘钥必须为:8/16/32位
var message = "123456";
//加密
var encrypt = CryptoJS.AES.encrypt(message,CryptoJS.enc.Utf8.parse(key),{
mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7
});
console.log("value: "+encrypt);
解密
var decrypt = CryptoJS.AES.decrypt(encrypt,padding: CryptoJS.pad.Pkcs7
});
console.log("value: "+decrypt.toString(CryptoJS.enc.Utf8));