The insecure key derivation algorithm from OpenSSL
npm install evp_bytestokey
The insecure [key derivation algorithm from OpenSSL.][1]
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 }
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:
// iv:
const cipher = crypto.createCipheriv('aes-256-cbc', result.key, result.iv)
``
[1]: https://wiki.openssl.org/index.php/Manual:EVP_BytesToKey(3)
[2]: https://nodejs.org/api/crypto.html#crypto_class_hash