The insecure key derivation algorithm from OpenSSL.
WARNING: DO NOT USE, except for compatibility reasons.
MD5 is insecure.
Use at least scrypt
or pbkdf2-hmac-sha256
instead.
EVP_BytesToKey(password, salt, keyLen, ivLen)
password
- Buffer
, password used to derive the key data.salt
- 8 byte Buffer
or null
, salt is used as a salt in the derivation.keyBits
- number
, key length in bits.ivLen
- number
, iv length in bytes.Returns: { key: Buffer, iv: Buffer }
MD5 with aes-256-cbc
:
```js const crypto = require('crypto') const EVP_BytesToKey = require('evp_bytestokey')
const result = EVP_BytesToKey(
'my-secret-password',
null,
32,
16
)
// =>
// { key:
const cipher = crypto.createCipheriv('aes-256-cbc', result.key, result.iv) ```