EvpKDF
Derive key material online with EvpKDF for OpenSSL and CryptoJS-style compatibility using hash, salt, iterations, and output length. Read more
Derive key material with EvpKDF
EvpKDF is a legacy key-derivation construction used for OpenSSL and CryptoJS-style compatibility. It derives bytes from input material, salt, a hash function, an iteration count, and a requested length. The default MD5 hash with one iteration is oriented toward compatibility, not modern password storage.
When no legacy compatibility requirement exists, prefer PBKDF2 or a stronger modern KDF.
This page outputs the derived bytes directly. Cipher tools such as AES encryption, DES encryption, Triple DES encryption, and RC4 encryption can use EvpKDF for passphrase compatibility and then split the derived material into the key and, when needed, IV bytes required by that cipher.
How to use this EvpKDF calculator
- Enter the input material and select its encoding.
- Optionally enter a salt and choose the salt encoding. An empty salt is treated as zero-length bytes.
- Select the hash function and iteration count.
- Set the desired output length in bits (must be divisible by 8).
- Derive and copy the result as Hex or Base64.
Result example
With UTF-8 input password, salt saltsalt, hash MD5, 1 iteration, and 384-bit output, the Hex digest is fdbdf3419fff98bdb0241390f62a9db35f4aba29d77566377997314ebfc709f20b5ca7b1081f94b1ac12e3c8ba87d05a.
Important limitations
EvpKDF output is raw derived bytes of the requested length. Cipher tools may later split those bytes into key and IV material, but this page does not assume a fixed key-plus-IV layout. Do not treat MD5 with a single iteration as a modern password-hashing recommendation.
Frequently asked questions
Why does my result differ from another tool?
Confirm the input bytes, salt bytes, hash, iterations, and output length. OpenSSL-compatible flows sometimes concatenate key and IV lengths; this calculator outputs only the number of bytes implied by Output Bits.
Should I use EvpKDF for new systems?
Usually no. Use EvpKDF when you must interoperate with existing OpenSSL or CryptoJS passphrase-based ciphertext. For new designs, prefer PBKDF2 or a modern password-hashing / KDF scheme.