|
1 | | -var native = require('crypto') |
| 1 | +'use strict'; |
2 | 2 |
|
3 | | -var checkParameters = require('./lib/precondition') |
4 | | -var defaultEncoding = require('./lib/default-encoding') |
5 | | -var toBuffer = require('./lib/to-buffer') |
| 3 | +var native = require('crypto'); |
| 4 | + |
| 5 | +var checkParameters = require('./lib/precondition'); |
| 6 | +var defaultEncoding = require('./lib/default-encoding'); |
| 7 | +var toBuffer = require('./lib/to-buffer'); |
6 | 8 |
|
7 | 9 | function nativePBKDF2(password, salt, iterations, keylen, digest, callback) { |
8 | | - checkParameters(iterations, keylen) |
9 | | - password = toBuffer(password, defaultEncoding, 'Password') |
10 | | - salt = toBuffer(salt, defaultEncoding, 'Salt') |
| 10 | + checkParameters(iterations, keylen); |
| 11 | + password = toBuffer(password, defaultEncoding, 'Password'); |
| 12 | + salt = toBuffer(salt, defaultEncoding, 'Salt'); |
11 | 13 |
|
12 | 14 | if (typeof digest === 'function') { |
13 | | - callback = digest |
14 | | - digest = 'sha1' |
| 15 | + callback = digest; |
| 16 | + digest = 'sha1'; |
| 17 | + } |
| 18 | + if (typeof callback !== 'function') { |
| 19 | + throw new Error('No callback provided to pbkdf2'); |
15 | 20 | } |
16 | | - if (typeof callback !== 'function') { throw new Error('No callback provided to pbkdf2') } |
17 | 21 |
|
18 | | - return native.pbkdf2(password, salt, iterations, keylen, digest, callback) |
| 22 | + return native.pbkdf2(password, salt, iterations, keylen, digest, callback); |
19 | 23 | } |
20 | 24 |
|
21 | 25 | function nativePBKDF2Sync(password, salt, iterations, keylen, digest) { |
22 | | - checkParameters(iterations, keylen) |
23 | | - password = toBuffer(password, defaultEncoding, 'Password') |
24 | | - salt = toBuffer(salt, defaultEncoding, 'Salt') |
25 | | - digest = digest || 'sha1' |
26 | | - return native.pbkdf2Sync(password, salt, iterations, keylen, digest) |
| 26 | + checkParameters(iterations, keylen); |
| 27 | + password = toBuffer(password, defaultEncoding, 'Password'); |
| 28 | + salt = toBuffer(salt, defaultEncoding, 'Salt'); |
| 29 | + digest = digest || 'sha1'; |
| 30 | + return native.pbkdf2Sync(password, salt, iterations, keylen, digest); |
27 | 31 | } |
28 | 32 |
|
29 | 33 | /* istanbul ignore next */ |
30 | 34 | if (!native.pbkdf2Sync || native.pbkdf2Sync.toString().indexOf('keylen, digest') === -1) { |
31 | 35 | /* eslint global-require: 0 */ |
32 | | - exports.pbkdf2Sync = require('./lib/sync') |
33 | | - exports.pbkdf2 = require('./lib/async') |
| 36 | + exports.pbkdf2Sync = require('./lib/sync'); |
| 37 | + exports.pbkdf2 = require('./lib/async'); |
34 | 38 |
|
35 | 39 | // native |
36 | 40 | } else { |
37 | | - exports.pbkdf2Sync = nativePBKDF2Sync |
38 | | - exports.pbkdf2 = nativePBKDF2 |
| 41 | + exports.pbkdf2Sync = nativePBKDF2Sync; |
| 42 | + exports.pbkdf2 = nativePBKDF2; |
39 | 43 | } |
0 commit comments