Crypto

crypto模块提供加密功能,其包括用于OpenSSL's hash, HMAC, cipher, decipher, sign, 和 verify功能的一组包装的。

Stability: 2 - Stable

使用 require('crypto') 访问此模块.

const crypto = require('crypto');

const secret = 'abcdefg';
const hash = crypto
  .createHmac('sha256', secret)
  .update('I love cupcakes')
  .digest('hex');
console.log(hash);
// Prints:
//   c0fa1bc00531bd78ef38c628449c5102aeabd49b5dc3a2a516ea6ea959d6658e

确定是否加密的支持是否可用

这是可能的Node.js,而不包括对crypto模块的支持来构建。
在这种情况下,调用 require('crypto') 将导致抛出一个错误。

类: Certificate

SPKAC最初是由Netscape实现证书签名请求机制并正式指定为HTML5的keygen元素的一部分。

类: Cipher

扩展: <stream.Transform>

类: Decipher

扩展: {stream.Transform}

类: DiffieHellman

DiffieHellman类是用于创建Diffie-Hellman密钥交换的工具。

类: DiffieHellmanGroup

DiffieHellmanGroup类需要一个众所周知的MODP组作为它的参数,但其它作业跟DiffieHellman一样。

类: ECDH

ECDH类是用于创建椭圆曲线的Diffie-Hellman(ECDH)密钥交换的工具。

类: Hash

Extends: {stream.Transform}

类: Hmac

Extends: {stream.Transform}

类: KeyObject

Node.js的使用KeyObject类来表示一个对称或不对称密钥,以及各种键自曝不同的功能。

类: Sign

Extends: {stream.Writable}

类: Verify

Extends: {stream.Writable}

crypto模块的方法和属性

注意事项

加密常量

crypto.constants导出以下常量适用于crypto, tls, 和 https模块的各种用途并且一般是特定于OpenSSL的。


最后修改 April 16, 2020: 加密 (a75e592)