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
Julian Gassner 2024-11-23 18:10:44 +01:00 committed by GitHub
parent c75aaac733
commit a2a0c22fbf
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 197 additions and 197 deletions

View File

@ -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