EVP_BytesToKey
![Dependency status](https://img.shields.io/david/crypto-browserify/EVP_BytesToKey.svg?style=flat-square)
![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)
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.
API
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 }
Examples
MD5 with aes-256-cbc
:
const crypto = require('crypto')
const EVP_BytesToKey = require('evp_bytestokey')
const result = EVP_BytesToKey(
'my-secret-password',
null,
32,
16
)
const cipher = crypto.createCipheriv('aes-256-cbc', result.key, result.iv)
LICENSE MIT