mirror of https://github.com/nodejs/node.git
doc: order `node:crypto` APIs alphabetically
PR-URL: https://github.com/nodejs/node/pull/55831 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>pull/55970/head
parent
c75aaac733
commit
a2a0c22fbf
|
@ -2059,6 +2059,22 @@ types are:
|
|||
This property is `undefined` for unrecognized `KeyObject` types and symmetric
|
||||
keys.
|
||||
|
||||
### `keyObject.equals(otherKeyObject)`
|
||||
|
||||
<!-- YAML
|
||||
added:
|
||||
- v17.7.0
|
||||
- v16.15.0
|
||||
-->
|
||||
|
||||
* `otherKeyObject`: {KeyObject} A `KeyObject` with which to
|
||||
compare `keyObject`.
|
||||
* Returns: {boolean}
|
||||
|
||||
Returns `true` or `false` depending on whether the keys have exactly the same
|
||||
type, value, and parameters. This method is not
|
||||
[constant time](https://en.wikipedia.org/wiki/Timing_attack).
|
||||
|
||||
### `keyObject.export([options])`
|
||||
|
||||
<!-- YAML
|
||||
|
@ -2109,22 +2125,6 @@ encryption mechanism, PEM-level encryption is not supported when encrypting
|
|||
a PKCS#8 key. See [RFC 5208][] for PKCS#8 encryption and [RFC 1421][] for
|
||||
PKCS#1 and SEC1 encryption.
|
||||
|
||||
### `keyObject.equals(otherKeyObject)`
|
||||
|
||||
<!-- YAML
|
||||
added:
|
||||
- v17.7.0
|
||||
- v16.15.0
|
||||
-->
|
||||
|
||||
* `otherKeyObject`: {KeyObject} A `KeyObject` with which to
|
||||
compare `keyObject`.
|
||||
* Returns: {boolean}
|
||||
|
||||
Returns `true` or `false` depending on whether the keys have exactly the same
|
||||
type, value, and parameters. This method is not
|
||||
[constant time](https://en.wikipedia.org/wiki/Timing_attack).
|
||||
|
||||
### `keyObject.symmetricKeySize`
|
||||
|
||||
<!-- YAML
|
||||
|
@ -2665,6 +2665,16 @@ added: v15.6.0
|
|||
Checks whether the public key for this certificate is consistent with
|
||||
the given private key.
|
||||
|
||||
### `x509.extKeyUsage`
|
||||
|
||||
<!-- YAML
|
||||
added: v15.6.0
|
||||
-->
|
||||
|
||||
* Type: {string\[]}
|
||||
|
||||
An array detailing the key extended usages for this certificate.
|
||||
|
||||
### `x509.fingerprint`
|
||||
|
||||
<!-- YAML
|
||||
|
@ -2756,16 +2766,6 @@ added: v15.9.0
|
|||
The issuer certificate or `undefined` if the issuer certificate is not
|
||||
available.
|
||||
|
||||
### `x509.extKeyUsage`
|
||||
|
||||
<!-- YAML
|
||||
added: v15.6.0
|
||||
-->
|
||||
|
||||
* Type: {string\[]}
|
||||
|
||||
An array detailing the key extended usages for this certificate.
|
||||
|
||||
### `x509.publicKey`
|
||||
|
||||
<!-- YAML
|
||||
|
@ -2933,33 +2933,6 @@ Does not perform any other validation checks on the certificate.
|
|||
|
||||
## `node:crypto` module methods and properties
|
||||
|
||||
### `crypto.constants`
|
||||
|
||||
<!-- YAML
|
||||
added: v6.3.0
|
||||
-->
|
||||
|
||||
* {Object}
|
||||
|
||||
An object containing commonly used constants for crypto and security related
|
||||
operations. The specific constants currently defined are described in
|
||||
[Crypto constants][].
|
||||
|
||||
### `crypto.fips`
|
||||
|
||||
<!-- YAML
|
||||
added: v6.0.0
|
||||
deprecated: v10.0.0
|
||||
-->
|
||||
|
||||
> Stability: 0 - Deprecated
|
||||
|
||||
Property for checking and controlling whether a FIPS compliant crypto provider
|
||||
is currently in use. Setting to true requires a FIPS build of Node.js.
|
||||
|
||||
This property is deprecated. Please use `crypto.setFips()` and
|
||||
`crypto.getFips()` instead.
|
||||
|
||||
### `crypto.checkPrime(candidate[, options], callback)`
|
||||
|
||||
<!-- YAML
|
||||
|
@ -3010,6 +2983,18 @@ added: v15.8.0
|
|||
|
||||
Checks the primality of the `candidate`.
|
||||
|
||||
### `crypto.constants`
|
||||
|
||||
<!-- YAML
|
||||
added: v6.3.0
|
||||
-->
|
||||
|
||||
* {Object}
|
||||
|
||||
An object containing commonly used constants for crypto and security related
|
||||
operations. The specific constants currently defined are described in
|
||||
[Crypto constants][].
|
||||
|
||||
### `crypto.createCipheriv(algorithm, key, iv[, options])`
|
||||
|
||||
<!-- YAML
|
||||
|
@ -3565,69 +3550,20 @@ Computes the Diffie-Hellman secret based on a `privateKey` and a `publicKey`.
|
|||
Both keys must have the same `asymmetricKeyType`, which must be one of `'dh'`
|
||||
(for Diffie-Hellman), `'ec'`, `'x448'`, or `'x25519'` (for ECDH).
|
||||
|
||||
### `crypto.hash(algorithm, data[, outputEncoding])`
|
||||
### `crypto.fips`
|
||||
|
||||
<!-- YAML
|
||||
added:
|
||||
- v21.7.0
|
||||
- v20.12.0
|
||||
added: v6.0.0
|
||||
deprecated: v10.0.0
|
||||
-->
|
||||
|
||||
> Stability: 1.2 - Release candidate
|
||||
> Stability: 0 - Deprecated
|
||||
|
||||
* `algorithm` {string|undefined}
|
||||
* `data` {string|Buffer|TypedArray|DataView} When `data` is a
|
||||
string, it will be encoded as UTF-8 before being hashed. If a different
|
||||
input encoding is desired for a string input, user could encode the string
|
||||
into a `TypedArray` using either `TextEncoder` or `Buffer.from()` and passing
|
||||
the encoded `TypedArray` into this API instead.
|
||||
* `outputEncoding` {string|undefined} [Encoding][encoding] used to encode the
|
||||
returned digest. **Default:** `'hex'`.
|
||||
* Returns: {string|Buffer}
|
||||
Property for checking and controlling whether a FIPS compliant crypto provider
|
||||
is currently in use. Setting to true requires a FIPS build of Node.js.
|
||||
|
||||
A utility for creating one-shot hash digests of data. It can be faster than
|
||||
the object-based `crypto.createHash()` when hashing a smaller amount of data
|
||||
(<= 5MB) that's readily available. If the data can be big or if it is streamed,
|
||||
it's still recommended to use `crypto.createHash()` instead.
|
||||
|
||||
The `algorithm` is dependent on the available algorithms supported by the
|
||||
version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc.
|
||||
On recent releases of OpenSSL, `openssl list -digest-algorithms` will
|
||||
display the available digest algorithms.
|
||||
|
||||
Example:
|
||||
|
||||
```cjs
|
||||
const crypto = require('node:crypto');
|
||||
const { Buffer } = require('node:buffer');
|
||||
|
||||
// Hashing a string and return the result as a hex-encoded string.
|
||||
const string = 'Node.js';
|
||||
// 10b3493287f831e81a438811a1ffba01f8cec4b7
|
||||
console.log(crypto.hash('sha1', string));
|
||||
|
||||
// Encode a base64-encoded string into a Buffer, hash it and return
|
||||
// the result as a buffer.
|
||||
const base64 = 'Tm9kZS5qcw==';
|
||||
// <Buffer 10 b3 49 32 87 f8 31 e8 1a 43 88 11 a1 ff ba 01 f8 ce c4 b7>
|
||||
console.log(crypto.hash('sha1', Buffer.from(base64, 'base64'), 'buffer'));
|
||||
```
|
||||
|
||||
```mjs
|
||||
import crypto from 'node:crypto';
|
||||
import { Buffer } from 'node:buffer';
|
||||
|
||||
// Hashing a string and return the result as a hex-encoded string.
|
||||
const string = 'Node.js';
|
||||
// 10b3493287f831e81a438811a1ffba01f8cec4b7
|
||||
console.log(crypto.hash('sha1', string));
|
||||
|
||||
// Encode a base64-encoded string into a Buffer, hash it and return
|
||||
// the result as a buffer.
|
||||
const base64 = 'Tm9kZS5qcw==';
|
||||
// <Buffer 10 b3 49 32 87 f8 31 e8 1a 43 88 11 a1 ff ba 01 f8 ce c4 b7>
|
||||
console.log(crypto.hash('sha1', Buffer.from(base64, 'base64'), 'buffer'));
|
||||
```
|
||||
This property is deprecated. Please use `crypto.setFips()` and
|
||||
`crypto.getFips()` instead.
|
||||
|
||||
### `crypto.generateKey(type, options, callback)`
|
||||
|
||||
|
@ -4228,6 +4164,70 @@ A convenient alias for [`crypto.webcrypto.getRandomValues()`][]. This
|
|||
implementation is not compliant with the Web Crypto spec, to write
|
||||
web-compatible code use [`crypto.webcrypto.getRandomValues()`][] instead.
|
||||
|
||||
### `crypto.hash(algorithm, data[, outputEncoding])`
|
||||
|
||||
<!-- YAML
|
||||
added:
|
||||
- v21.7.0
|
||||
- v20.12.0
|
||||
-->
|
||||
|
||||
> Stability: 1.2 - Release candidate
|
||||
|
||||
* `algorithm` {string|undefined}
|
||||
* `data` {string|Buffer|TypedArray|DataView} When `data` is a
|
||||
string, it will be encoded as UTF-8 before being hashed. If a different
|
||||
input encoding is desired for a string input, user could encode the string
|
||||
into a `TypedArray` using either `TextEncoder` or `Buffer.from()` and passing
|
||||
the encoded `TypedArray` into this API instead.
|
||||
* `outputEncoding` {string|undefined} [Encoding][encoding] used to encode the
|
||||
returned digest. **Default:** `'hex'`.
|
||||
* Returns: {string|Buffer}
|
||||
|
||||
A utility for creating one-shot hash digests of data. It can be faster than
|
||||
the object-based `crypto.createHash()` when hashing a smaller amount of data
|
||||
(<= 5MB) that's readily available. If the data can be big or if it is streamed,
|
||||
it's still recommended to use `crypto.createHash()` instead.
|
||||
|
||||
The `algorithm` is dependent on the available algorithms supported by the
|
||||
version of OpenSSL on the platform. Examples are `'sha256'`, `'sha512'`, etc.
|
||||
On recent releases of OpenSSL, `openssl list -digest-algorithms` will
|
||||
display the available digest algorithms.
|
||||
|
||||
Example:
|
||||
|
||||
```cjs
|
||||
const crypto = require('node:crypto');
|
||||
const { Buffer } = require('node:buffer');
|
||||
|
||||
// Hashing a string and return the result as a hex-encoded string.
|
||||
const string = 'Node.js';
|
||||
// 10b3493287f831e81a438811a1ffba01f8cec4b7
|
||||
console.log(crypto.hash('sha1', string));
|
||||
|
||||
// Encode a base64-encoded string into a Buffer, hash it and return
|
||||
// the result as a buffer.
|
||||
const base64 = 'Tm9kZS5qcw==';
|
||||
// <Buffer 10 b3 49 32 87 f8 31 e8 1a 43 88 11 a1 ff ba 01 f8 ce c4 b7>
|
||||
console.log(crypto.hash('sha1', Buffer.from(base64, 'base64'), 'buffer'));
|
||||
```
|
||||
|
||||
```mjs
|
||||
import crypto from 'node:crypto';
|
||||
import { Buffer } from 'node:buffer';
|
||||
|
||||
// Hashing a string and return the result as a hex-encoded string.
|
||||
const string = 'Node.js';
|
||||
// 10b3493287f831e81a438811a1ffba01f8cec4b7
|
||||
console.log(crypto.hash('sha1', string));
|
||||
|
||||
// Encode a base64-encoded string into a Buffer, hash it and return
|
||||
// the result as a buffer.
|
||||
const base64 = 'Tm9kZS5qcw==';
|
||||
// <Buffer 10 b3 49 32 87 f8 31 e8 1a 43 88 11 a1 ff ba 01 f8 ce c4 b7>
|
||||
console.log(crypto.hash('sha1', Buffer.from(base64, 'base64'), 'buffer'));
|
||||
```
|
||||
|
||||
### `crypto.hkdf(digest, ikm, salt, info, keylen, callback)`
|
||||
|
||||
<!-- YAML
|
||||
|
@ -4795,93 +4795,6 @@ threadpool request. To minimize threadpool task length variation, partition
|
|||
large `randomBytes` requests when doing so as part of fulfilling a client
|
||||
request.
|
||||
|
||||
### `crypto.randomFillSync(buffer[, offset][, size])`
|
||||
|
||||
<!-- YAML
|
||||
added:
|
||||
- v7.10.0
|
||||
- v6.13.0
|
||||
changes:
|
||||
- version: v9.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/15231
|
||||
description: The `buffer` argument may be any `TypedArray` or `DataView`.
|
||||
-->
|
||||
|
||||
* `buffer` {ArrayBuffer|Buffer|TypedArray|DataView} Must be supplied. The
|
||||
size of the provided `buffer` must not be larger than `2**31 - 1`.
|
||||
* `offset` {number} **Default:** `0`
|
||||
* `size` {number} **Default:** `buffer.length - offset`. The `size` must
|
||||
not be larger than `2**31 - 1`.
|
||||
* Returns: {ArrayBuffer|Buffer|TypedArray|DataView} The object passed as
|
||||
`buffer` argument.
|
||||
|
||||
Synchronous version of [`crypto.randomFill()`][].
|
||||
|
||||
```mjs
|
||||
import { Buffer } from 'node:buffer';
|
||||
const { randomFillSync } = await import('node:crypto');
|
||||
|
||||
const buf = Buffer.alloc(10);
|
||||
console.log(randomFillSync(buf).toString('hex'));
|
||||
|
||||
randomFillSync(buf, 5);
|
||||
console.log(buf.toString('hex'));
|
||||
|
||||
// The above is equivalent to the following:
|
||||
randomFillSync(buf, 5, 5);
|
||||
console.log(buf.toString('hex'));
|
||||
```
|
||||
|
||||
```cjs
|
||||
const { randomFillSync } = require('node:crypto');
|
||||
const { Buffer } = require('node:buffer');
|
||||
|
||||
const buf = Buffer.alloc(10);
|
||||
console.log(randomFillSync(buf).toString('hex'));
|
||||
|
||||
randomFillSync(buf, 5);
|
||||
console.log(buf.toString('hex'));
|
||||
|
||||
// The above is equivalent to the following:
|
||||
randomFillSync(buf, 5, 5);
|
||||
console.log(buf.toString('hex'));
|
||||
```
|
||||
|
||||
Any `ArrayBuffer`, `TypedArray` or `DataView` instance may be passed as
|
||||
`buffer`.
|
||||
|
||||
```mjs
|
||||
import { Buffer } from 'node:buffer';
|
||||
const { randomFillSync } = await import('node:crypto');
|
||||
|
||||
const a = new Uint32Array(10);
|
||||
console.log(Buffer.from(randomFillSync(a).buffer,
|
||||
a.byteOffset, a.byteLength).toString('hex'));
|
||||
|
||||
const b = new DataView(new ArrayBuffer(10));
|
||||
console.log(Buffer.from(randomFillSync(b).buffer,
|
||||
b.byteOffset, b.byteLength).toString('hex'));
|
||||
|
||||
const c = new ArrayBuffer(10);
|
||||
console.log(Buffer.from(randomFillSync(c)).toString('hex'));
|
||||
```
|
||||
|
||||
```cjs
|
||||
const { randomFillSync } = require('node:crypto');
|
||||
const { Buffer } = require('node:buffer');
|
||||
|
||||
const a = new Uint32Array(10);
|
||||
console.log(Buffer.from(randomFillSync(a).buffer,
|
||||
a.byteOffset, a.byteLength).toString('hex'));
|
||||
|
||||
const b = new DataView(new ArrayBuffer(10));
|
||||
console.log(Buffer.from(randomFillSync(b).buffer,
|
||||
b.byteOffset, b.byteLength).toString('hex'));
|
||||
|
||||
const c = new ArrayBuffer(10);
|
||||
console.log(Buffer.from(randomFillSync(c)).toString('hex'));
|
||||
```
|
||||
|
||||
### `crypto.randomFill(buffer[, offset][, size], callback)`
|
||||
|
||||
<!-- YAML
|
||||
|
@ -5024,6 +4937,93 @@ threadpool request. To minimize threadpool task length variation, partition
|
|||
large `randomFill` requests when doing so as part of fulfilling a client
|
||||
request.
|
||||
|
||||
### `crypto.randomFillSync(buffer[, offset][, size])`
|
||||
|
||||
<!-- YAML
|
||||
added:
|
||||
- v7.10.0
|
||||
- v6.13.0
|
||||
changes:
|
||||
- version: v9.0.0
|
||||
pr-url: https://github.com/nodejs/node/pull/15231
|
||||
description: The `buffer` argument may be any `TypedArray` or `DataView`.
|
||||
-->
|
||||
|
||||
* `buffer` {ArrayBuffer|Buffer|TypedArray|DataView} Must be supplied. The
|
||||
size of the provided `buffer` must not be larger than `2**31 - 1`.
|
||||
* `offset` {number} **Default:** `0`
|
||||
* `size` {number} **Default:** `buffer.length - offset`. The `size` must
|
||||
not be larger than `2**31 - 1`.
|
||||
* Returns: {ArrayBuffer|Buffer|TypedArray|DataView} The object passed as
|
||||
`buffer` argument.
|
||||
|
||||
Synchronous version of [`crypto.randomFill()`][].
|
||||
|
||||
```mjs
|
||||
import { Buffer } from 'node:buffer';
|
||||
const { randomFillSync } = await import('node:crypto');
|
||||
|
||||
const buf = Buffer.alloc(10);
|
||||
console.log(randomFillSync(buf).toString('hex'));
|
||||
|
||||
randomFillSync(buf, 5);
|
||||
console.log(buf.toString('hex'));
|
||||
|
||||
// The above is equivalent to the following:
|
||||
randomFillSync(buf, 5, 5);
|
||||
console.log(buf.toString('hex'));
|
||||
```
|
||||
|
||||
```cjs
|
||||
const { randomFillSync } = require('node:crypto');
|
||||
const { Buffer } = require('node:buffer');
|
||||
|
||||
const buf = Buffer.alloc(10);
|
||||
console.log(randomFillSync(buf).toString('hex'));
|
||||
|
||||
randomFillSync(buf, 5);
|
||||
console.log(buf.toString('hex'));
|
||||
|
||||
// The above is equivalent to the following:
|
||||
randomFillSync(buf, 5, 5);
|
||||
console.log(buf.toString('hex'));
|
||||
```
|
||||
|
||||
Any `ArrayBuffer`, `TypedArray` or `DataView` instance may be passed as
|
||||
`buffer`.
|
||||
|
||||
```mjs
|
||||
import { Buffer } from 'node:buffer';
|
||||
const { randomFillSync } = await import('node:crypto');
|
||||
|
||||
const a = new Uint32Array(10);
|
||||
console.log(Buffer.from(randomFillSync(a).buffer,
|
||||
a.byteOffset, a.byteLength).toString('hex'));
|
||||
|
||||
const b = new DataView(new ArrayBuffer(10));
|
||||
console.log(Buffer.from(randomFillSync(b).buffer,
|
||||
b.byteOffset, b.byteLength).toString('hex'));
|
||||
|
||||
const c = new ArrayBuffer(10);
|
||||
console.log(Buffer.from(randomFillSync(c)).toString('hex'));
|
||||
```
|
||||
|
||||
```cjs
|
||||
const { randomFillSync } = require('node:crypto');
|
||||
const { Buffer } = require('node:buffer');
|
||||
|
||||
const a = new Uint32Array(10);
|
||||
console.log(Buffer.from(randomFillSync(a).buffer,
|
||||
a.byteOffset, a.byteLength).toString('hex'));
|
||||
|
||||
const b = new DataView(new ArrayBuffer(10));
|
||||
console.log(Buffer.from(randomFillSync(b).buffer,
|
||||
b.byteOffset, b.byteLength).toString('hex'));
|
||||
|
||||
const c = new ArrayBuffer(10);
|
||||
console.log(Buffer.from(randomFillSync(c)).toString('hex'));
|
||||
```
|
||||
|
||||
### `crypto.randomInt([min, ]max[, callback])`
|
||||
|
||||
<!-- YAML
|
||||
|
|
Loading…
Reference in New Issue