ecdh.computeSecret(otherPublicKey[, inputEncoding][, outputEncoding])
otherPublicKey
<string> | <Buffer> | <TypedArray> | <DataView>inputEncoding
<string>otherPublicKey
字符串的编码。outputEncoding
<string> 返回值的编码。- 返回: <Buffer> | <string>
使用 otherPublicKey
作为对方的公钥计算共享密钥,并返回计算出的共享密钥。
提供的密钥使用指定的 inputEncoding
进行解释,返回的密钥使用指定的 outputEncoding
进行编码。
如果未提供 inputEncoding
,则 otherPublicKey
应为 Buffer
、TypedArray
或 DataView
。
如果给定 outputEncoding
,将返回字符串;否则返回 Buffer
。
当 otherPublicKey
位于椭圆曲线之外时,ecdh.computeSecret
将抛出 ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY
错误。
由于 otherPublicKey
通常由远程用户通过不安全的网络提供,因此请务必相应地处理此异常。
otherPublicKey
<string> | <Buffer> | <TypedArray> | <DataView>inputEncoding
<string> The encoding of theotherPublicKey
string.outputEncoding
<string> The encoding of the return value.- Returns: <Buffer> | <string>
Computes the shared secret using otherPublicKey
as the other
party's public key and returns the computed shared secret. The supplied
key is interpreted using specified inputEncoding
, and the returned secret
is encoded using the specified outputEncoding
.
If the inputEncoding
is not
provided, otherPublicKey
is expected to be a Buffer
, TypedArray
, or
DataView
.
If outputEncoding
is given a string will be returned; otherwise a
Buffer
is returned.
ecdh.computeSecret
will throw an
ERR_CRYPTO_ECDH_INVALID_PUBLIC_KEY
error when otherPublicKey
lies outside of the elliptic curve. Since otherPublicKey
is
usually supplied from a remote user over an insecure network,
be sure to handle this exception accordingly.