@@ -39,10 +39,11 @@ changes:
3939
4040Node.js provides an implementation of the standard [ Web Crypto API] [ ] .
4141
42- Use ` require('node:crypto').webcrypto ` to access this module.
42+ Use ` globalThis.crypto ` or ` require('node:crypto').webcrypto ` to access this
43+ module.
4344
4445``` js
45- const { subtle } = require ( ' node:crypto ' ). webcrypto ;
46+ const { subtle } = globalThis . crypto ;
4647
4748(async function () {
4849
@@ -72,7 +73,7 @@ or asymmetric key pairs (public key and private key).
7273#### AES keys
7374
7475``` js
75- const { subtle } = require ( ' node:crypto ' ). webcrypto ;
76+ const { subtle } = globalThis . crypto ;
7677
7778async function generateAesKey (length = 256 ) {
7879 const key = await subtle .generateKey ({
@@ -87,7 +88,7 @@ async function generateAesKey(length = 256) {
8788#### ECDSA key pairs
8889
8990``` js
90- const { subtle } = require ( ' node:crypto ' ). webcrypto ;
91+ const { subtle } = globalThis . crypto ;
9192
9293async function generateEcKey (namedCurve = ' P-521' ) {
9394 const {
@@ -107,7 +108,7 @@ async function generateEcKey(namedCurve = 'P-521') {
107108> Stability: 1 - Experimental
108109
109110``` js
110- const { subtle } = require ( ' node:crypto ' ). webcrypto ;
111+ const { subtle } = globalThis . crypto ;
111112
112113async function generateEd25519Key () {
113114 return subtle .generateKey ({
@@ -125,7 +126,7 @@ async function generateX25519Key() {
125126#### HMAC keys
126127
127128``` js
128- const { subtle } = require ( ' node:crypto ' ). webcrypto ;
129+ const { subtle } = globalThis . crypto ;
129130
130131async function generateHmacKey (hash = ' SHA-256' ) {
131132 const key = await subtle .generateKey ({
@@ -140,7 +141,7 @@ async function generateHmacKey(hash = 'SHA-256') {
140141#### RSA key pairs
141142
142143``` js
143- const { subtle } = require ( ' node:crypto ' ). webcrypto ;
144+ const { subtle } = globalThis . crypto ;
144145const publicExponent = new Uint8Array ([1 , 0 , 1 ]);
145146
146147async function generateRsaKey (modulusLength = 2048 , hash = ' SHA-256' ) {
@@ -161,7 +162,7 @@ async function generateRsaKey(modulusLength = 2048, hash = 'SHA-256') {
161162### Encryption and decryption
162163
163164``` js
164- const crypto = require ( ' node:crypto ' ). webcrypto ;
165+ const crypto = globalThis . crypto ;
165166
166167async function aesEncrypt (plaintext ) {
167168 const ec = new TextEncoder ();
@@ -194,7 +195,7 @@ async function aesDecrypt(ciphertext, key, iv) {
194195### Exporting and importing keys
195196
196197``` js
197- const { subtle } = require ( ' node:crypto ' ). webcrypto ;
198+ const { subtle } = globalThis . crypto ;
198199
199200async function generateAndExportHmacKey (format = ' jwk' , hash = ' SHA-512' ) {
200201 const key = await subtle .generateKey ({
@@ -218,7 +219,7 @@ async function importHmacKey(keyData, format = 'jwk', hash = 'SHA-512') {
218219### Wrapping and unwrapping keys
219220
220221``` js
221- const { subtle } = require ( ' node:crypto ' ). webcrypto ;
222+ const { subtle } = globalThis . crypto ;
222223
223224async function generateAndWrapHmacKey (format = ' jwk' , hash = ' SHA-512' ) {
224225 const [
@@ -261,7 +262,7 @@ async function unwrapHmacKey(
261262### Sign and verify
262263
263264``` js
264- const { subtle } = require ( ' node:crypto ' ). webcrypto ;
265+ const { subtle } = globalThis . crypto ;
265266
266267async function sign (key , data ) {
267268 const ec = new TextEncoder ();
@@ -285,7 +286,7 @@ async function verify(key, signature, data) {
285286### Deriving bits and keys
286287
287288``` js
288- const { subtle } = require ( ' node:crypto ' ). webcrypto ;
289+ const { subtle } = globalThis . crypto ;
289290
290291async function pbkdf2 (pass , salt , iterations = 1000 , length = 256 ) {
291292 const ec = new TextEncoder ();
@@ -328,7 +329,7 @@ async function pbkdf2Key(pass, salt, iterations = 1000, length = 256) {
328329### Digest
329330
330331``` js
331- const { subtle } = require ( ' node:crypto ' ). webcrypto ;
332+ const { subtle } = globalThis . crypto ;
332333
333334async function digest (data , algorithm = ' SHA-512' ) {
334335 const ec = new TextEncoder ();
@@ -371,7 +372,7 @@ implementation and the APIs supported for each:
371372added: v15.0.0
372373-->
373374
374- Calling ` require('node:crypto').webcrypto ` returns an instance of the ` Crypto `
375+ ` globalThis.crypto ` is an instance of the ` Crypto `
375376class. ` Crypto ` is a singleton that provides access to the remainder of the
376377crypto API.
377378
0 commit comments