API Connect网关脚本JSON Datapower中的AES加密解密

时间:2018-10-01 17:58:42

标签: javascript aes ibm-datapower api-gateway apiconnect

如何在api connect gateway脚本中使用AES加密/解密。 以下是我尝试的过程以及得到的错误帮助我了解此问题

const crypto = require('crypto');
var encryptionKey = '0123456789abcd0123456789';
var iv = '12345678';
var plainText = 'Testing';
var cipher = crypto.createCipheriv('aes128-cbc',encryptionKey,Buffer.from(iv, 'utf8'));
var ciph = cipher.update(plainText,'utf8','hex');
consle.error(cipher.final('hex'));

响应---错误"Named shared secret key '0123456789abcd0123456789' not found"

有人可以与我共享用于es算法的加密和解密脚本吗?

1 个答案:

答案 0 :(得分:1)

来自Node.Js文档

  

密钥是算法使用的原始密钥,并且iv是初始化向量。两个参数都必须是“ utf8”编码的字符串,Buffers,TypedArray或DataViews。如果密码不需要初始化向量,则iv可以为null。

根据文档,keyiv必须都是UTF8字符串,Buffer,TypeArray或DataView。您可能需要将key更改为Buffer或将iv更改为字符串。

var cipher = crypto.createCipheriv('aes128-cbc', 
                                   Buffer.from(encryptionKey, 'utf8'),
                                   Buffer.from(iv, 'utf8'));