Blame view

node_modules/pbkdf2/lib/precondition.js 750 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
  var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs
  
  function checkBuffer (buf, name) {
    if (typeof buf !== 'string' && !Buffer.isBuffer(buf)) {
      throw new TypeError(name + ' must be a buffer or string')
    }
  }
  
  module.exports = function (password, salt, iterations, keylen) {
    checkBuffer(password, 'Password')
    checkBuffer(salt, 'Salt')
  
    if (typeof iterations !== 'number') {
      throw new TypeError('Iterations not a number')
    }
  
    if (iterations < 0) {
      throw new TypeError('Bad iterations')
    }
  
    if (typeof keylen !== 'number') {
      throw new TypeError('Key length not a number')
    }
  
    if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */
      throw new TypeError('Bad key length')
    }
  }