1- var checkParameters = require ( './lib/precondition' )
21var native = require ( 'crypto' )
32
3+ var checkParameters = require ( './lib/precondition' )
4+ var defaultEncoding = require ( './lib/default-encoding' )
5+ var toBuffer = require ( './lib/to-buffer' )
6+
47function nativePBKDF2 ( password , salt , iterations , keylen , digest , callback ) {
5- checkParameters ( password , salt , iterations , keylen )
8+ checkParameters ( iterations , keylen )
9+ password = toBuffer ( password , defaultEncoding , 'Password' )
10+ salt = toBuffer ( salt , defaultEncoding , 'Salt' )
611
712 if ( typeof digest === 'function' ) {
813 callback = digest
@@ -14,7 +19,9 @@ function nativePBKDF2 (password, salt, iterations, keylen, digest, callback) {
1419}
1520
1621function nativePBKDF2Sync ( password , salt , iterations , keylen , digest ) {
17- checkParameters ( password , salt , iterations , keylen )
22+ checkParameters ( iterations , keylen )
23+ password = toBuffer ( password , defaultEncoding , 'Password' )
24+ salt = toBuffer ( salt , defaultEncoding , 'Salt' )
1825 digest = digest || 'sha1'
1926 return native . pbkdf2Sync ( password , salt , iterations , keylen , digest )
2027}
0 commit comments