网络加密 API
\Web Crypto API
版本历史
| 版本 | 变更 |
|---|---|
| v24.8.0 | 现在支持 KMAC 算法。 |
| v24.8.0 | 现在支持 Argon2 算法。 |
| v24.7.0 | 现已支持 AES-OCB 算法。 |
| v24.7.0 | 现在支持 ML-KEM 算法。 |
| v24.7.0 | 现在支持 ChaCha20-Poly1305 算法。 |
| v24.7.0 | 现在支持 SHA-3 算法。 |
| v24.7.0 | 现在支持 SHAKE 算法。 |
| v24.7.0 | 现在支持 ML-DSA 算法。 |
| v23.5.0, v22.13.0 | 算法 |
| v19.0.0 | 除了 |
| v20.0.0, v18.17.0 | 与其他 Web Crypto API 实现一样,参数现在根据其 WebIDL 定义进行强制和验证。 |
| v18.4.0, v16.17.0 | 删除了专有的 |
| v18.4.0, v16.17.0 | 删除了专有的 |
| v18.4.0, v16.17.0 | 添加了 |
| v18.4.0, v16.17.0 | 删除了专有的 |
| v18.4.0, v16.17.0 | 从 |
稳定性: 2 - 稳定的
\Stability: 2 - Stable
Node.js 提供了 网络加密 API 标准的实现。
\Node.js provides an implementation of the Web Crypto API standard.
使用 globalThis.crypto 或 require('node:crypto').webcrypto 访问此模块。
\Use globalThis.crypto or require('node:crypto').webcrypto to access this
module.
const { subtle } = globalThis.crypto;
(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);
})();