暗号
node:crypto モジュールは、OpenSSL のハッシュ、HMAC、暗号化、復号化、署名、検証機能のラッパーのセットを含む暗号機能を提供します。
node:crypto モジュールのサブセットは Workers で利用可能です。以下の表にあるすべての API で ✅ が付いているものはサポートされており、特に記載がない限り、Node.js の実装と同様に動作します。
WebCrypto API も Cloudflare Workers 内で利用可能です。
| API | Supported? | Notes |
|---|---|---|
| Certificate ↗ | ✅ | |
| Cipher ↗ | ||
| Decipher ↗ | ||
| DiffieHellman ↗ | ✅ | |
| DiffieHellmanGroup ↗ | ✅ | |
| ECDH ↗ | ||
| Hash ↗ | ✅ | |
| Hmac ↗ | ✅ | |
| KeyObject ↗ | ||
| Sign ↗ | ||
| Verify ↗ | ||
| X509Certificate ↗ | ✅ | |
| constants ↗ |
| API | Supported? | Notes |
|---|---|---|
| checkPrime ↗ | ✅ | |
| checkPrimeSync ↗ | ✅ | |
| generatePrime ↗ | ✅ | |
| generatePrimeSync ↗ | ✅ |
| API | Supported? | Notes |
|---|---|---|
| createCipher ↗ | 非推奨、代わりに createCipheriv を使用 | |
| createCipheriv ↗ | ||
| createDecipher ↗ | 非推奨、代わりに createDecipheriv を使用 | |
| createDecipheriv ↗ | ||
| privateDecrypt ↗ | ||
| privateEncrypt ↗ | ||
| publicDecrypt ↗ | ||
| publicEncrypt ↗ |
| API | Supported? | Notes |
|---|---|---|
| createDiffieHellman(prime) ↗ | ✅ | |
| createDiffieHellman(primeLength) ↗ | ✅ | |
| createDiffieHellmanGroup ↗ | ✅ | |
| createECDH ↗ | ||
| diffieHellman ↗ | ||
| getDiffieHellman ↗ | ✅ |
| API | Supported? | Notes |
|---|---|---|
| createHash ↗ | ✅ | |
| createHmac ↗ | ✅ | |
| getHashes ↗ | ✅ |
| API | Supported? | Notes |
|---|---|---|
| createPrivateKey ↗ | ||
| createPublicKey ↗ | ||
| createSecretKey ↗ | ✅ | |
| generateKey ↗ | ✅ | |
| generateKeyPair ↗ | ✅ | |
| generateKeyPairSync ↗ | ✅ | |
| generateKeySync ↗ | ✅ |
| API | Supported? | Notes |
|---|---|---|
| createSign ↗ | ||
| createVerify ↗ | ||
| sign ↗ | ||
| verify ↗ |
| API | Supported? | Notes |
|---|---|---|
| getCipherInfo ↗ | ||
| getCiphers ↗ | ✅ | |
| getCurves ↗ | ✅ | |
| secureHeapUsed ↗ | ✅ | |
| setEngine ↗ | ✅ | |
| timingSafeEqual ↗ | ✅ |
| API | Supported? | Notes |
|---|---|---|
| getFips ↗ | ✅ | |
| fips ↗ | ✅ | 非推奨、代わりに getFips() を使用 |
| setFips ↗ | ✅ |
| API | Supported? | Notes |
|---|---|---|
| getRandomValues ↗ | ✅ | |
| randomBytes ↗ | ✅ | |
| randomFillSync ↗ | ✅ | |
| randomFill ↗ | ✅ | |
| randomInt ↗ | ✅ | |
| randomUUID ↗ | ✅ |
| API | Supported? | Notes |
|---|---|---|
| hkdf ↗ | ✅ | KeyObject はまだサポートされていません |
| hkdfSync ↗ | ✅ | KeyObject はまだサポートされていません |
| pbkdf2 ↗ | ✅ | |
| pbkdf2Sync ↗ | ✅ | |
| scrypt ↗ | ✅ | |
| scryptSync ↗ | ✅ |
| API | Supported? | Notes |
|---|---|---|
| subtle ↗ | ✅ | |
| webcrypto ↗ | ✅ |