- Assertion testing
- Asynchronous context tracking
- Async hooks
- Buffer
- C++ addons
- C/C++ addons with Node-API
- C++ embedder API
- Child processes
- Cluster
- Command-line options
- Console
- Corepack
- Crypto
- Debugger
- Deprecated APIs
- Diagnostics Channel
- DNS
- Domain
- Errors
- Events
- File system
- Globals
- HTTP
- HTTP/2
- HTTPS
- Inspector
- Internationalization
- Modules: CommonJS modules
- Modules: ECMAScript modules
- Modules:
node:module
API - Modules: Packages
- Net
- OS
- Path
- Performance hooks
- Permissions
- Process
- Punycode
- Query strings
- Readline
- REPL
- Report
- Stream
- String decoder
- Test runner
- Timers
- TLS/SSL
- Trace events
- TTY
- UDP/datagram
- URL
- Utilities
- V8
- VM
- WASI
- Web Crypto API
- Web Streams API
- Worker threads
- Zlib
Node.js v18.12.1 documentation
- Node.js v18.12.1
-
► Table of contents
- Web Crypto API
- Examples
- Algorithm matrix
- Class:
Crypto
- Class:
CryptoKey
- Class:
CryptoKeyPair
- Class:
SubtleCrypto
subtle.decrypt(algorithm, key, data)
subtle.deriveBits(algorithm, baseKey, length)
subtle.deriveKey(algorithm, baseKey, derivedKeyAlgorithm, extractable, keyUsages)
subtle.digest(algorithm, data)
subtle.encrypt(algorithm, key, data)
subtle.exportKey(format, key)
subtle.generateKey(algorithm, extractable, keyUsages)
subtle.importKey(format, keyData, algorithm, extractable, keyUsages)
subtle.sign(algorithm, key, data)
subtle.unwrapKey(format, wrappedKey, unwrappingKey, unwrapAlgo, unwrappedKeyAlgo, extractable, keyUsages)
subtle.verify(algorithm, key, signature, data)
subtle.wrapKey(format, key, wrappingKey, wrapAlgo)
- Algorithm parameters
- Class:
AlgorithmIdentifier
- Class:
AesCbcParams
- Class:
AesCtrParams
- Class:
AesGcmParams
- Class:
AesKeyGenParams
- Class:
EcdhKeyDeriveParams
- Class:
EcdsaParams
- Class:
EcKeyGenParams
- Class:
EcKeyImportParams
- Class:
Ed448Params
- Class:
HkdfParams
- Class:
HmacImportParams
- Class:
HmacKeyGenParams
- Class:
Pbkdf2Params
- Class:
RsaHashedImportParams
- Class:
RsaHashedKeyGenParams
- Class:
RsaOaepParams
- Class:
RsaPssParams
- Class:
- Web Crypto API
-
► Index
- Assertion testing
- Asynchronous context tracking
- Async hooks
- Buffer
- C++ addons
- C/C++ addons with Node-API
- C++ embedder API
- Child processes
- Cluster
- Command-line options
- Console
- Corepack
- Crypto
- Debugger
- Deprecated APIs
- Diagnostics Channel
- DNS
- Domain
- Errors
- Events
- File system
- Globals
- HTTP
- HTTP/2
- HTTPS
- Inspector
- Internationalization
- Modules: CommonJS modules
- Modules: ECMAScript modules
- Modules:
node:module
API - Modules: Packages
- Net
- OS
- Path
- Performance hooks
- Permissions
- Process
- Punycode
- Query strings
- Readline
- REPL
- Report
- Stream
- String decoder
- Test runner
- Timers
- TLS/SSL
- Trace events
- TTY
- UDP/datagram
- URL
- Utilities
- V8
- VM
- WASI
- Web Crypto API
- Web Streams API
- Worker threads
- Zlib
- ► Other versions
- ► Options
Table of contents
- Web Crypto API
- Examples
- Algorithm matrix
- Class:
Crypto
- Class:
CryptoKey
- Class:
CryptoKeyPair
- Class:
SubtleCrypto
subtle.decrypt(algorithm, key, data)
subtle.deriveBits(algorithm, baseKey, length)
subtle.deriveKey(algorithm, baseKey, derivedKeyAlgorithm, extractable, keyUsages)
subtle.digest(algorithm, data)
subtle.encrypt(algorithm, key, data)
subtle.exportKey(format, key)
subtle.generateKey(algorithm, extractable, keyUsages)
subtle.importKey(format, keyData, algorithm, extractable, keyUsages)
subtle.sign(algorithm, key, data)
subtle.unwrapKey(format, wrappedKey, unwrappingKey, unwrapAlgo, unwrappedKeyAlgo, extractable, keyUsages)
subtle.verify(algorithm, key, signature, data)
subtle.wrapKey(format, key, wrappingKey, wrapAlgo)
- Algorithm parameters
- Class:
AlgorithmIdentifier
- Class:
AesCbcParams
- Class:
AesCtrParams
- Class:
AesGcmParams
- Class:
AesKeyGenParams
- Class:
EcdhKeyDeriveParams
- Class:
EcdsaParams
- Class:
EcKeyGenParams
- Class:
EcKeyImportParams
- Class:
Ed448Params
- Class:
HkdfParams
- Class:
HmacImportParams
- Class:
HmacKeyGenParams
- Class:
Pbkdf2Params
- Class:
RsaHashedImportParams
- Class:
RsaHashedKeyGenParams
- Class:
RsaOaepParams
- Class:
RsaPssParams
- Class:
Web Crypto API#
Stability: 1 - Experimental实验性的
Node.js provides an implementation of the standard Web Crypto API.Node.js提供了标准Web Crypto API的实现。
Use 使用require('node:crypto').webcrypto
to access this module.require('node:crypto').webcrypto
访问此模块。
const { subtle } = require('node:crypto').webcrypto;
(async function() {
const key = await subtle.generateKey({
name: 'HMAC',
hash: 'SHA-256',
length: 256
}, true, ['sign', 'verify']);
const enc = new TextEncoder();
const message = enc.encode('I love cupcakes');
const digest = await subtle.sign({
name: 'HMAC'
}, key, message);
})();