aboutsummaryrefslogtreecommitdiff
path: root/node_modules/pbkdf2/lib
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/pbkdf2/lib')
-rw-r--r--node_modules/pbkdf2/lib/async.js100
-rw-r--r--node_modules/pbkdf2/lib/default-encoding.js10
-rw-r--r--node_modules/pbkdf2/lib/precondition.js28
-rw-r--r--node_modules/pbkdf2/lib/sync-browser.js101
-rw-r--r--node_modules/pbkdf2/lib/sync.js51
5 files changed, 0 insertions, 290 deletions
diff --git a/node_modules/pbkdf2/lib/async.js b/node_modules/pbkdf2/lib/async.js
deleted file mode 100644
index b20da7c8b..000000000
--- a/node_modules/pbkdf2/lib/async.js
+++ /dev/null
@@ -1,100 +0,0 @@
-var checkParameters = require('./precondition')
-var defaultEncoding = require('./default-encoding')
-var sync = require('./sync')
-var Buffer = require('safe-buffer').Buffer
-
-var ZERO_BUF
-var subtle = global.crypto && global.crypto.subtle
-var toBrowser = {
- 'sha': 'SHA-1',
- 'sha-1': 'SHA-1',
- 'sha1': 'SHA-1',
- 'sha256': 'SHA-256',
- 'sha-256': 'SHA-256',
- 'sha384': 'SHA-384',
- 'sha-384': 'SHA-384',
- 'sha-512': 'SHA-512',
- 'sha512': 'SHA-512'
-}
-var checks = []
-function checkNative (algo) {
- if (global.process && !global.process.browser) {
- return Promise.resolve(false)
- }
- if (!subtle || !subtle.importKey || !subtle.deriveBits) {
- return Promise.resolve(false)
- }
- if (checks[algo] !== undefined) {
- return checks[algo]
- }
- ZERO_BUF = ZERO_BUF || Buffer.alloc(8)
- var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)
- .then(function () {
- return true
- }).catch(function () {
- return false
- })
- checks[algo] = prom
- return prom
-}
-
-function browserPbkdf2 (password, salt, iterations, length, algo) {
- return subtle.importKey(
- 'raw', password, {name: 'PBKDF2'}, false, ['deriveBits']
- ).then(function (key) {
- return subtle.deriveBits({
- name: 'PBKDF2',
- salt: salt,
- iterations: iterations,
- hash: {
- name: algo
- }
- }, key, length << 3)
- }).then(function (res) {
- return Buffer.from(res)
- })
-}
-
-function resolvePromise (promise, callback) {
- promise.then(function (out) {
- process.nextTick(function () {
- callback(null, out)
- })
- }, function (e) {
- process.nextTick(function () {
- callback(e)
- })
- })
-}
-module.exports = function (password, salt, iterations, keylen, digest, callback) {
- if (typeof digest === 'function') {
- callback = digest
- digest = undefined
- }
-
- digest = digest || 'sha1'
- var algo = toBrowser[digest.toLowerCase()]
-
- if (!algo || typeof global.Promise !== 'function') {
- return process.nextTick(function () {
- var out
- try {
- out = sync(password, salt, iterations, keylen, digest)
- } catch (e) {
- return callback(e)
- }
- callback(null, out)
- })
- }
-
- checkParameters(password, salt, iterations, keylen)
- if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')
- if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding)
- if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding)
-
- resolvePromise(checkNative(algo).then(function (resp) {
- if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)
-
- return sync(password, salt, iterations, keylen, digest)
- }), callback)
-}
diff --git a/node_modules/pbkdf2/lib/default-encoding.js b/node_modules/pbkdf2/lib/default-encoding.js
deleted file mode 100644
index 13b8db92f..000000000
--- a/node_modules/pbkdf2/lib/default-encoding.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var defaultEncoding
-/* istanbul ignore next */
-if (process.browser) {
- defaultEncoding = 'utf-8'
-} else {
- var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)
-
- defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'
-}
-module.exports = defaultEncoding
diff --git a/node_modules/pbkdf2/lib/precondition.js b/node_modules/pbkdf2/lib/precondition.js
deleted file mode 100644
index 683db5630..000000000
--- a/node_modules/pbkdf2/lib/precondition.js
+++ /dev/null
@@ -1,28 +0,0 @@
-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')
- }
-}
diff --git a/node_modules/pbkdf2/lib/sync-browser.js b/node_modules/pbkdf2/lib/sync-browser.js
deleted file mode 100644
index 202d29edb..000000000
--- a/node_modules/pbkdf2/lib/sync-browser.js
+++ /dev/null
@@ -1,101 +0,0 @@
-var md5 = require('create-hash/md5')
-var rmd160 = require('ripemd160')
-var sha = require('sha.js')
-
-var checkParameters = require('./precondition')
-var defaultEncoding = require('./default-encoding')
-var Buffer = require('safe-buffer').Buffer
-var ZEROS = Buffer.alloc(128)
-var sizes = {
- md5: 16,
- sha1: 20,
- sha224: 28,
- sha256: 32,
- sha384: 48,
- sha512: 64,
- rmd160: 20,
- ripemd160: 20
-}
-
-function Hmac (alg, key, saltLen) {
- var hash = getDigest(alg)
- var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
-
- if (key.length > blocksize) {
- key = hash(key)
- } else if (key.length < blocksize) {
- key = Buffer.concat([key, ZEROS], blocksize)
- }
-
- var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])
- var opad = Buffer.allocUnsafe(blocksize + sizes[alg])
- for (var i = 0; i < blocksize; i++) {
- ipad[i] = key[i] ^ 0x36
- opad[i] = key[i] ^ 0x5C
- }
-
- var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)
- ipad.copy(ipad1, 0, 0, blocksize)
- this.ipad1 = ipad1
- this.ipad2 = ipad
- this.opad = opad
- this.alg = alg
- this.blocksize = blocksize
- this.hash = hash
- this.size = sizes[alg]
-}
-
-Hmac.prototype.run = function (data, ipad) {
- data.copy(ipad, this.blocksize)
- var h = this.hash(ipad)
- h.copy(this.opad, this.blocksize)
- return this.hash(this.opad)
-}
-
-function getDigest (alg) {
- function shaFunc (data) {
- return sha(alg).update(data).digest()
- }
-
- if (alg === 'rmd160' || alg === 'ripemd160') return rmd160
- if (alg === 'md5') return md5
- return shaFunc
-}
-
-function pbkdf2 (password, salt, iterations, keylen, digest) {
- checkParameters(password, salt, iterations, keylen)
-
- if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding)
- if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding)
-
- digest = digest || 'sha1'
-
- var hmac = new Hmac(digest, password, salt.length)
-
- var DK = Buffer.allocUnsafe(keylen)
- var block1 = Buffer.allocUnsafe(salt.length + 4)
- salt.copy(block1, 0, 0, salt.length)
-
- var destPos = 0
- var hLen = sizes[digest]
- var l = Math.ceil(keylen / hLen)
-
- for (var i = 1; i <= l; i++) {
- block1.writeUInt32BE(i, salt.length)
-
- var T = hmac.run(block1, hmac.ipad1)
- var U = T
-
- for (var j = 1; j < iterations; j++) {
- U = hmac.run(U, hmac.ipad2)
- for (var k = 0; k < hLen; k++) T[k] ^= U[k]
- }
-
- T.copy(DK, destPos)
- destPos += hLen
- }
-
- return DK
-}
-
-module.exports = pbkdf2
diff --git a/node_modules/pbkdf2/lib/sync.js b/node_modules/pbkdf2/lib/sync.js
deleted file mode 100644
index f691e31a6..000000000
--- a/node_modules/pbkdf2/lib/sync.js
+++ /dev/null
@@ -1,51 +0,0 @@
-var sizes = {
- md5: 16,
- sha1: 20,
- sha224: 28,
- sha256: 32,
- sha384: 48,
- sha512: 64,
- rmd160: 20,
- ripemd160: 20
-}
-
-var createHmac = require('create-hmac')
-var checkParameters = require('../lib/precondition')
-var defaultEncoding = require('../lib/default-encoding')
-var Buffer = require('safe-buffer').Buffer
-
-function pbkdf2 (password, salt, iterations, keylen, digest) {
- checkParameters(password, salt, iterations, keylen)
-
- if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding)
- if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding)
-
- digest = digest || 'sha1'
-
- var DK = Buffer.allocUnsafe(keylen)
- var block1 = Buffer.allocUnsafe(salt.length + 4)
- salt.copy(block1, 0, 0, salt.length)
-
- var destPos = 0
- var hLen = sizes[digest]
- var l = Math.ceil(keylen / hLen)
-
- for (var i = 1; i <= l; i++) {
- block1.writeUInt32BE(i, salt.length)
-
- var T = createHmac(digest, password).update(block1).digest()
- var U = T
-
- for (var j = 1; j < iterations; j++) {
- U = createHmac(digest, password).update(U).digest()
- for (var k = 0; k < hLen; k++) T[k] ^= U[k]
- }
-
- T.copy(DK, destPos)
- destPos += hLen
- }
-
- return DK
-}
-
-module.exports = pbkdf2