cipher.update(data[, inputEncoding][, outputEncoding])
data<string> | <Buffer> | <TypedArray> | <DataView>inputEncoding<string> 数据的 编码。outputEncoding<string> 返回值的编码。- 返回:<Buffer> | <string>
使用 data 更新密码。如果提供了 inputEncoding 参数,data 参数是使用指定编码的字符串。如果未提供 inputEncoding 参数,data 必须是 Buffer、TypedArray 或 DataView。如果 data 是 Buffer、TypedArray 或 DataView,则会忽略 inputEncoding。
🌐 Updates the cipher with data. If the inputEncoding argument is given,
the data
argument is a string using the specified encoding. If the inputEncoding
argument is not given, data must be a Buffer, TypedArray, or
DataView. If data is a Buffer, TypedArray, or DataView, then
inputEncoding is ignored.
outputEncoding 指定了加密数据的输出格式。如果指定了 outputEncoding,将返回使用指定编码的字符串。如果没有提供 outputEncoding,将返回一个 Buffer。当指定 outputEncoding 时,它必须使用与之前调用 cipher.update() 相同的编码。
🌐 The outputEncoding specifies the output format of the enciphered
data. If the outputEncoding
is specified, a string using the specified encoding is returned. If no
outputEncoding is provided, a Buffer is returned.
When outputEncoding is specified, it must use the same encoding as previous
calls to cipher.update().
对于大多数算法,可以多次调用 cipher.update() 来处理新数据,直到调用 cipher.final()。有些算法限制对 cipher.update() 的调用。例如,CCM 模式、CBC-CTS 模式、XTS模式、AES 密钥封装模式 和 SIV 和 GCM-SIV 模式 需要在一次调用中提供完整的消息。在 cipher.final() 之后调用 cipher.update() 会导致抛出错误。
🌐 For most algorithms, cipher.update() can be called multiple times with new
data until cipher.final() is called. Some algorithms restrict calls to
cipher.update(). For example, CCM mode, CBC-CTS mode, XTS mode,
AES key wrap modes, and SIV and GCM-SIV modes require the whole message
in a single call. Calling cipher.update() after cipher.final() will
result in an error being thrown.