crypto.encapsulate(key[, callback])


稳定性: 1.2 - 发布候选版

使用公钥的 KEM 算法进行密钥封装。

【Key encapsulation using a KEM algorithm with a public key.】

支持的密钥类型及其 KEM 算法如下:

【Supported key types and their KEM algorithms are:】

  • 'rsa'2 RSA 密钥值封装
  • 'ec'3 DHKEM(P-256, HKDF-SHA256), DHKEM(P-384, HKDF-SHA256), DHKEM(P-521, HKDF-SHA256)
  • 'x25519'3 DHKEM(X25519, HKDF-SHA256)
  • 'x448'3 DHKEM(X448, HKDF-SHA512)
  • 'ml-kem-512'1 ML-KEM
  • 'ml-kem-768'1 ML-KEM
  • 'ml-kem-1024'1 ML-KEM

如果 key 不是 KeyObject,则此函数的行为就像 key 已传递给 crypto.createPublicKey() 一样。

【If key is not a KeyObject, this function behaves as if key had been passed to crypto.createPublicKey().】

如果提供了 callback 函数,该函数会使用 libuv 的线程池。

【If the callback function is provided this function uses libuv's threadpool.】