decipher.update(data[, inputEncoding][, outputEncoding])
data<string> | <Buffer> | <TypedArray> | <DataView>inputEncoding<string>data字符串的 编码。outputEncoding<string> 返回值的 编码。- 返回: <Buffer> | <string>
使用 data 更新解码器。如果提供了 inputEncoding 参数,data 参数就是使用指定编码的字符串。如果未提供 inputEncoding 参数,data 必须是 Buffer。如果 data 是 Buffer,则忽略 inputEncoding。
【Updates the decipher 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. If data is a
Buffer then inputEncoding is ignored.】
outputEncoding 指定了加密数据的输出格式。如果指定了 outputEncoding,将返回使用指定编码的字符串。如果未提供 outputEncoding,则返回一个 Buffer。
【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.】
decipher.update() 方法可以多次调用以处理新数据,直到调用 decipher.final()。在调用 decipher.final() 之后再调用 decipher.update() 会导致抛出错误。
【The decipher.update() method can be called multiple times with new data until
decipher.final() is called. Calling decipher.update() after
decipher.final() will result in an error being thrown.】
即使底层密码实现了认证,从此函数返回的明文的真实性和完整性此时可能仍不确定。对于经过认证的加密算法,只有在应用调用 decipher.final() 时,通常才能确定其真实性。
【Even if the underlying cipher implements authentication, the authenticity and
integrity of the plaintext returned from this function may be uncertain at this
time. For authenticated encryption algorithms, authenticity is generally only
established when the application calls decipher.final().】