Crypto
The node:crypto
module provides cryptographic functionality that includes a set of wrappers for OpenSSL’s hash, HMAC, cipher, decipher, sign, and verify functions.
A subset of the node:crypto
module is available in Workers. All APIs in the tables below with a ✅ are supported, and unless otherwise noted, work the same way as the implementations in Node.js.
The WebCrypto API is also available within Cloudflare Workers.
Classes
API | Supported? | Notes |
---|---|---|
Certificate | ||
Cipher | ||
Decipher | ||
DiffieHellman | ✅ | |
DiffieHellmanGroup | ✅ | |
ECDH | ||
Hash | ✅ | |
Hmac | ✅ | |
KeyObject | ||
Sign | ||
Verify | ||
X509Certificate | ||
constants |
Primes
API | Supported? | Notes |
---|---|---|
checkPrime | ✅ | |
checkPrimeSync | ✅ | |
generatePrime | ✅ | |
generatePrimeSync | ✅ |
Ciphers
API | Supported? | Notes |
---|---|---|
createCipher | Deprecated, use createCipheriv instead | |
createCipheriv | ||
createDecipher | Deprecated, use createDecipheriv instead | |
createDecipheriv | ||
privateDecrypt | ||
privateEncrypt | ||
publicDecrypt | ||
publicEncrypt |
DiffieHellman
API | Supported? | Notes |
---|---|---|
createDiffieHellman(prime) | ✅ | |
createDiffieHellman(primeLength) | ✅ | |
createDiffieHellmanGroup | ✅ | |
createECDH | ||
diffieHellman | ||
getDiffieHellman | ✅ |
Hash
API | Supported? | Notes |
---|---|---|
createHash | ✅ | |
createHmac | ✅ | |
getHashes | ✅ |
Keys
API | Supported? | Notes |
---|---|---|
createPrivateKey | ||
createPublicKey | ||
createSecretKey | ✅ | |
generateKey | ✅ | |
generateKeyPair | ✅ | |
generateKeyPairSync | ✅ | |
generateKeySync | ✅ |
Sign/Verify
API | Supported? | Notes |
---|---|---|
createSign | ||
createVerify | ||
sign | ||
verify |
Misc
API | Supported? | Notes |
---|---|---|
getCipherInfo | ||
getCiphers | ✅ | |
getCurves | ✅ | |
secureHeapUsed | ✅ | |
setEngine | ✅ | |
timingSafeEqual | ✅ |
Fips
API | Supported? | Notes |
---|---|---|
getFips | ✅ | |
fips | ✅ | Deprecated, use getFips() instead |
setFips | ✅ |
Random
API | Supported? | Notes |
---|---|---|
getRandomValues | ✅ | |
randomBytes | ✅ | |
randomFillSync | ✅ | |
randomFill | ✅ | |
randomInt | ✅ | |
randomUUID | ✅ |
Key Derivation
API | Supported? | Notes |
---|---|---|
hkdf | ✅ | Does not yet support KeyObject |
hkdfSync | ✅ | Does not yet support KeyObject |
pbkdf2 | ✅ | |
pbkdf2Sync | ✅ | |
scrypt | ||
scryptSync |
WebCrypto
API | Supported? | Notes |
---|---|---|
subtle | ✅ | |
webcrypto | ✅ |