nodejs aes 加解密实例
如下所示:
'usestrict';
constcrypto=require('crypto');
/**
*AES加密的配置
*1.密钥
*2.偏移向量
*3.算法模式CBC
*4.补全值
*/
varAES_conf={
key:getSecretKey(),//密钥
iv:'1012132405963708',//偏移向量
padding:'PKCS7Padding'//补全值
}
/**
*读取密钥key
*更具当前客户端的版本vid、平台platform获取对应的key
*/
functiongetSecretKey(){
return"abcdabcdabcdabcd";
}
/**
*AES_128_CBC加密
*128位
*returnbase64
*/
functionencryption(data){
letkey=AES_conf.key;
letiv=AES_conf.iv;
//letpadding=AES_conf.padding;
varcipherChunks=[];
varcipher=crypto.createCipheriv('aes-128-cbc',key,iv);
cipher.setAutoPadding(true);
cipherChunks.push(cipher.update(data,'utf8','base64'));
cipherChunks.push(cipher.final('base64'));
returncipherChunks.join('');
}
/**
*解密
*returnutf8
*/
functiondecryption(data){
letkey=AES_conf.key;
letiv=AES_conf.iv;
//letpadding=AES_conf.padding;
varcipherChunks=[];
vardecipher=crypto.createDecipheriv('aes-128-cbc',key,iv);
decipher.setAutoPadding(true);
cipherChunks.push(decipher.update(data,'base64','utf8'));
cipherChunks.push(decipher.final('utf8'));
returncipherChunks.join('');
}
console.log(encryption('aaaaa4'));
console.log(decryption('VuoXtyUolFyPrK50JnNUdw=='));
以上这篇nodejsaes加解密实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。