AES-128-GCM在Node V6上validationIV吗?

鉴于此代码:

const bufIV = Buffer.alloc(16); const cipher = crypto.createCipheriv(CIPHER, mykey, crypto.randomFillSync(bufIV)); let encrypted = cipher.update(doc, 'utf8', ENCODING); encrypted += cipher.final(ENCODING); 

IV也会被authentication吗? 这篇文章的结尾似乎表明,它需要,但我真的不明白这是如何工作的。

使用好的IV并不意味着你的密码是安全的。 你也必须authentication你的密文。 当你这样做时,不要忘记validationIV。

是的,AES-GCM将自动validationIV,validationIV包含在validation标签的计算中。

现在有个坏消息:因为您需要使用setAuthTagsetAuthTag显式设置接收到的身份validation标记, setAuthTag在您向我们显示的代码中不会validation任何内容。