Skip to content

Commit

Permalink
doc: Adding best practises for crypto.pbkdf2
Browse files Browse the repository at this point in the history
Added some information around usages of how to use iterations, how to
choose decent salts and updating the example to have a significant work
factor and to use sha512.
  • Loading branch information
tomgco committed Nov 23, 2015
1 parent 017fc5b commit e1b39b0
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion doc/api/crypto.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -625,9 +625,16 @@ Asynchronous PBKDF2 function. Applies the selected HMAC digest function
salt and number of iterations. The callback gets two arguments:
`(err, derivedKey)`.

The number of iterations passed to pbkdf2 should be as high as possible, the
higher the number, the more secure it will be, but will take a longer amount of
time to complete.

Chosen salts should also be unique. It is recommended that the salts are random
and their length is greater than 16 bytes. See NIST 800-132 for details.

Example:

crypto.pbkdf2('secret', 'salt', 4096, 64, 'sha256', function(err, key) {
crypto.pbkdf2('secret', 'salt', 100000, 512, 'sha512', function(err, key) {
if (err)
throw err;
console.log(key.toString('hex')); // 'c5e478d...1469e50'
Expand Down

0 comments on commit e1b39b0

Please sign in to comment.