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/sync-browser.js31
-rw-r--r--node_modules/pbkdf2/lib/sync.js21
2 files changed, 24 insertions, 28 deletions
diff --git a/node_modules/pbkdf2/lib/sync-browser.js b/node_modules/pbkdf2/lib/sync-browser.js
index 2452e9fe3..7f0bf9131 100644
--- a/node_modules/pbkdf2/lib/sync-browser.js
+++ b/node_modules/pbkdf2/lib/sync-browser.js
@@ -16,6 +16,7 @@ var sizes = {
rmd160: 20,
ripemd160: 20
}
+
function Hmac (alg, key, saltLen) {
var hash = getDigest(alg)
var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
@@ -52,16 +53,16 @@ Hmac.prototype.run = function (data, ipad) {
}
function getDigest (alg) {
- if (alg === 'rmd160' || alg === 'ripemd160') return rmd160
- if (alg === 'md5') return md5
- return shaFunc
-
function shaFunc (data) {
return sha(alg).update(data).digest()
}
+
+ if (alg === 'rmd160' || alg === 'ripemd160') return rmd160
+ if (alg === 'md5') return md5
+ return shaFunc
}
-module.exports = function (password, salt, iterations, keylen, digest) {
+function pbkdf2 (password, salt, iterations, keylen, digest) {
if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding)
if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding)
@@ -75,28 +76,26 @@ module.exports = function (password, salt, iterations, keylen, digest) {
var block1 = Buffer.allocUnsafe(salt.length + 4)
salt.copy(block1, 0, 0, salt.length)
- var U, j, destPos, len
-
- var hLen = hmac.size
- var T = Buffer.allocUnsafe(hLen)
+ var destPos = 0
+ var hLen = sizes[digest]
var l = Math.ceil(keylen / hLen)
- var r = keylen - (l - 1) * hLen
for (var i = 1; i <= l; i++) {
block1.writeUInt32BE(i, salt.length)
- U = hmac.run(block1, hmac.ipad1)
- U.copy(T, 0, 0, hLen)
+ var T = hmac.run(block1, hmac.ipad1)
+ var U = T
- for (j = 1; j < iterations; j++) {
+ for (var j = 1; j < iterations; j++) {
U = hmac.run(U, hmac.ipad2)
for (var k = 0; k < hLen; k++) T[k] ^= U[k]
}
- destPos = (i - 1) * hLen
- len = (i === l ? r : hLen)
- T.copy(DK, destPos, 0, len)
+ 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
index 762e2f4e4..67b2e543d 100644
--- a/node_modules/pbkdf2/lib/sync.js
+++ b/node_modules/pbkdf2/lib/sync.js
@@ -13,41 +13,38 @@ var createHmac = require('create-hmac')
var checkParameters = require('../lib/precondition')
var defaultEncoding = require('../lib/default-encoding')
var Buffer = require('safe-buffer').Buffer
-module.exports = pbkdf2
+
function pbkdf2 (password, salt, iterations, keylen, digest) {
if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding)
if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding)
checkParameters(iterations, keylen)
-
digest = digest || 'sha1'
var DK = Buffer.allocUnsafe(keylen)
var block1 = Buffer.allocUnsafe(salt.length + 4)
salt.copy(block1, 0, 0, salt.length)
- var U, j, destPos, len
-
+ var destPos = 0
var hLen = sizes[digest]
- var T = Buffer.allocUnsafe(hLen)
var l = Math.ceil(keylen / hLen)
- var r = keylen - (l - 1) * hLen
for (var i = 1; i <= l; i++) {
block1.writeUInt32BE(i, salt.length)
- U = createHmac(digest, password).update(block1).digest()
- U.copy(T, 0, 0, hLen)
+ var T = createHmac(digest, password).update(block1).digest()
+ var U = T
- for (j = 1; j < iterations; j++) {
+ 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]
}
- destPos = (i - 1) * hLen
- len = (i === l ? r : hLen)
- T.copy(DK, destPos, 0, len)
+ T.copy(DK, destPos)
+ destPos += hLen
}
return DK
}
+
+module.exports = pbkdf2