Node.js 中的 cipher.final() 函数返回什么?

use*_*238 6 node.js

我正在做一个非常简单的编码操作:我通过调用 crypto.createCipheriv 来初始化 Cipher 对象;然后我调用一次更新函数;然后是最后的功能。

文档表明最终函数应该返回需要加密的任何剩余字节。

实际发生的是,更新函数返回一个缓冲区,该缓冲区的大小与我试图加密的缓冲区大小完全相同。然后最终函数返回额外的 16 个字节。我不知道这些字节是什么。我以为我必须连接两个缓冲区,但这样做会导致缓冲区比原始数据长 16 个字节。

我使用的是 16 字节的初始化向量,我最初认为额外的 16 字节是那些字节,但它们不是。