◐ Shell
clean mode source ↗

crypto: add SHA-3 Web Cryptography digest algorithms · nodejs/node@76cde76

@@ -2,6 +2,9 @@

2233

<!-- YAML

44

changes:

5+

- version: REPLACEME

6+

pr-url: https://github.com/nodejs/node/pull/59365

7+

description: SHA-3 algorithms are now supported.

58

- version: REPLACEME

69

pr-url: https://github.com/nodejs/node/pull/59365

710

description: SHAKE algorithms are now supported.

@@ -99,6 +102,9 @@ Algorithms:

99102

* `'ML-DSA-44'`[^openssl35]

100103

* `'ML-DSA-65'`[^openssl35]

101104

* `'ML-DSA-87'`[^openssl35]

105+

* `'SHA3-256'`

106+

* `'SHA3-384'`

107+

* `'SHA3-512'`

102108103109

Key Formats:

104110

@@ -496,6 +502,9 @@ implementation and the APIs supported for each:

496502

| `'SHA-256'` | | | | | | | | | | | | ✔ |

497503

| `'SHA-384'` | | | | | | | | | | | | ✔ |

498504

| `'SHA-512'` | | | | | | | | | | | | ✔ |

505+

| `'SHA3-256'`[^modern-algos] | | | | | | | | | | | | ✔ |

506+

| `'SHA3-384'`[^modern-algos] | | | | | | | | | | | | ✔ |

507+

| `'SHA3-512'`[^modern-algos] | | | | | | | | | | | | ✔ |

499508

| `'X25519'` | ✔ | ✔ | ✔ | | | | | ✔ | ✔ | | | |

500509

| `'X448'`[^secure-curves] | ✔ | ✔ | ✔ | | | | | ✔ | ✔ | | | |

501510

@@ -808,6 +817,9 @@ The algorithms currently supported include:

808817

<!-- YAML

809818

added: v15.0.0

810819

changes:

820+

- version: REPLACEME

821+

pr-url: https://github.com/nodejs/node/pull/59365

822+

description: SHA-3 algorithms are now supported.

811823

- version: REPLACEME

812824

pr-url: https://github.com/nodejs/node/pull/59365

813825

description: SHAKE algorithms are now supported.

@@ -829,6 +841,9 @@ If `algorithm` is provided as a {string}, it must be one of:

829841

* `'SHA-256'`

830842

* `'SHA-384'`

831843

* `'SHA-512'`

844+

* `'SHA3-256'`[^modern-algos]

845+

* `'SHA3-384'`[^modern-algos]

846+

* `'SHA3-512'`[^modern-algos]

832847833848

If `algorithm` is provided as an {Object}, it must have a `name` property

834849

whose value is one of the above.

@@ -1520,6 +1535,10 @@ added: v15.0.0

1520153515211536

<!-- YAML

15221537

added: v15.0.0

1538+

changes:

1539+

- version: REPLACEME

1540+

pr-url: https://github.com/nodejs/node/pull/59365

1541+

description: SHA-3 algorithms are now supported.

15231542

-->

1524154315251544

* Type: {string|Algorithm}

@@ -1530,6 +1549,9 @@ If represented as a {string}, the value must be one of:

15301549

* `'SHA-256'`

15311550

* `'SHA-384'`

15321551

* `'SHA-512'`

1552+

* `'SHA3-256'`[^modern-algos]

1553+

* `'SHA3-384'`[^modern-algos]

1554+

* `'SHA3-512'`[^modern-algos]

1533155515341556

If represented as an {Algorithm}, the object's `name` property

15351557

must be one of the above listed values.

@@ -1649,6 +1671,10 @@ added: v15.0.0

1649167116501672

<!-- YAML

16511673

added: v15.0.0

1674+

changes:

1675+

- version: REPLACEME

1676+

pr-url: https://github.com/nodejs/node/pull/59365

1677+

description: SHA-3 algorithms are now supported.

16521678

-->

1653167916541680

* Type: {string|Algorithm}

@@ -1659,6 +1685,9 @@ If represented as a {string}, the value must be one of:

16591685

* `'SHA-256'`

16601686

* `'SHA-384'`

16611687

* `'SHA-512'`

1688+

* `'SHA3-256'`[^modern-algos]

1689+

* `'SHA3-384'`[^modern-algos]

1690+

* `'SHA3-512'`[^modern-algos]

1662169116631692

If represented as an {Algorithm}, the object's `name` property

16641693

must be one of the above listed values.

@@ -1705,6 +1734,10 @@ added: v15.0.0

1705173417061735

<!-- YAML

17071736

added: v15.0.0

1737+

changes:

1738+

- version: REPLACEME

1739+

pr-url: https://github.com/nodejs/node/pull/59365

1740+

description: SHA-3 algorithms are now supported.

17081741

-->

1709174217101743

* Type: {string|Algorithm}

@@ -1715,6 +1748,9 @@ If represented as a {string}, the value must be one of:

17151748

* `'SHA-256'`

17161749

* `'SHA-384'`

17171750

* `'SHA-512'`

1751+

* `'SHA3-256'`[^modern-algos]

1752+

* `'SHA3-384'`[^modern-algos]

1753+

* `'SHA3-512'`[^modern-algos]

1718175417191755

If represented as an {Algorithm}, the object's `name` property

17201756

must be one of the above listed values.

@@ -1780,6 +1816,10 @@ added: v15.0.0

1780181617811817

<!-- YAML

17821818

added: v15.0.0

1819+

changes:

1820+

- version: REPLACEME

1821+

pr-url: https://github.com/nodejs/node/pull/59365

1822+

description: SHA-3 algorithms are now supported.

17831823

-->

1784182417851825

* Type: {string|Algorithm}

@@ -1790,6 +1830,9 @@ If represented as a {string}, the value must be one of:

17901830

* `'SHA-256'`

17911831

* `'SHA-384'`

17921832

* `'SHA-512'`

1833+

* `'SHA3-256'`[^modern-algos]

1834+

* `'SHA3-384'`[^modern-algos]

1835+

* `'SHA3-512'`[^modern-algos]

1793183617941837

If represented as an {Algorithm}, the object's `name` property

17951838

must be one of the above listed values.

@@ -1838,6 +1881,10 @@ added: v15.0.0

1838188118391882

<!-- YAML

18401883

added: v15.0.0

1884+

changes:

1885+

- version: REPLACEME

1886+

pr-url: https://github.com/nodejs/node/pull/59365

1887+

description: SHA-3 algorithms are now supported.

18411888

-->

1842188918431890

* Type: {string|Algorithm}

@@ -1848,6 +1895,9 @@ If represented as a {string}, the value must be one of:

18481895

* `'SHA-256'`

18491896

* `'SHA-384'`

18501897

* `'SHA-512'`

1898+

* `'SHA3-256'`[^modern-algos]

1899+

* `'SHA3-384'`[^modern-algos]

1900+

* `'SHA3-512'`[^modern-algos]

1851190118521902

If represented as an {Algorithm}, the object's `name` property

18531903

must be one of the above listed values.

@@ -1890,6 +1940,10 @@ added: v15.0.0

1890194018911941

<!-- YAML

18921942

added: v15.0.0

1943+

changes:

1944+

- version: REPLACEME

1945+

pr-url: https://github.com/nodejs/node/pull/59365

1946+

description: SHA-3 algorithms are now supported.

18931947

-->

1894194818951949

* Type: {string|Algorithm}

@@ -1900,6 +1954,9 @@ If represented as a {string}, the value must be one of:

19001954

* `'SHA-256'`

19011955

* `'SHA-384'`

19021956

* `'SHA-512'`

1957+

* `'SHA3-256'`[^modern-algos]

1958+

* `'SHA3-384'`[^modern-algos]

1959+

* `'SHA3-512'`[^modern-algos]

1903196019041961

If represented as an {Algorithm}, the object's `name` property

19051962

must be one of the above listed values.

@@ -1965,6 +2022,10 @@ added: v15.0.0

1965202219662023

<!-- YAML

19672024

added: v15.0.0

2025+

changes:

2026+

- version: REPLACEME

2027+

pr-url: https://github.com/nodejs/node/pull/59365

2028+

description: SHA-3 algorithms are now supported.

19682029

-->

1969203019702031

* Type: {string|Algorithm}

@@ -1975,6 +2036,9 @@ If represented as a {string}, the value must be one of:

19752036

* `'SHA-256'`

19762037

* `'SHA-384'`

19772038

* `'SHA-512'`

2039+

* `'SHA3-256'`[^modern-algos]

2040+

* `'SHA3-384'`[^modern-algos]

2041+

* `'SHA3-512'`[^modern-algos]

1978204219792043

If represented as an {Algorithm}, the object's `name` property

19802044

must be one of the above listed values.