nodejs AES-128-GCM"无效的初始化向量长度"

时间:2017-10-03 22:51:32

标签: node.js cryptography

我查看维基百科,它说" GCM和GMAC都可以接受任意长度的初始化向量。"

然而,当我尝试

crypto.createCipheriv(
  'aes-128-gcm',
  KEY,
  new Buffer(crypto.randomBytes(16))
)

我得到" Uncaught TypeError:无效iv长度16" - 我添加了几个断点,发现nodejs crypto iv length设置为12?差异有原因吗?

1 个答案:

答案 0 :(得分:1)

这已在较新的Node版本中修复(> = 6.3)。这是相关的GitHub线程和PR:https://github.com/nodejs/node/pull/6376

在处理任意长度之前,开发人员似乎只是实现了建议的默认值。