java aes 128 cbc加密_nodejs和java交互 AES-128-CBC加密解密

var crypto = require(‘crypto‘);

const IV = Buffer.from([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]);

/**

* aes 128 cbc加密 PKCS5Padding填充

* @param data 原始数据

* @param key 密钥 设备AccessCode前16个字符

* @returns 密文Buffer

*/

function aes_128_cbc_encrypt(data, key){

var encipher = crypto.createCipheriv(‘aes-128-cbc‘, Buffer.from(key, ‘ascii‘), IV);

var crypted = encipher.update(data, ‘utf8‘, ‘binary‘);

crypted += encipher.final(‘binary‘);

return Buffer.from(crypted, ‘binary‘);

}

/**

* aes 128 cbc解密,返回解密后的字符串

* @param crypted 密文

* @param key 密钥 设备AccessCode前16个字符

* @returns 明文

*/

function aes_128_cbc_decrypt(crypted, key){

var buf = new Buffer(crypted, ‘hex‘);

var decipher = crypto.createDecipheriv(‘aes-128-cbc‘, Buffer.from(key, ‘ascii‘), IV);

var decoded = decipher.update(buf, ‘binary‘, ‘utf8‘);

decoded += decipher.final(‘utf8‘);

return decoded;

}

module.exports = {

encrypt:aes_128_cbc_encrypt,

decrypt:aes_128_cbc_decrypt

}

原文:http://www.cnblogs.com/scot/p/6114891.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值