aboutsummaryrefslogtreecommitdiff
path: root/node_modules/pbkdf2/lib/sync.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-08-14 05:01:11 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-08-14 05:02:09 +0200
commit363723fc84f7b8477592e0105aeb331ec9a017af (patch)
tree29f92724f34131bac64d6a318dd7e30612e631c7 /node_modules/pbkdf2/lib/sync.js
parent5634e77ad96bfe1818f6b6ee70b7379652e5487f (diff)
node_modules
Diffstat (limited to 'node_modules/pbkdf2/lib/sync.js')
-rw-r--r--node_modules/pbkdf2/lib/sync.js21
1 files changed, 9 insertions, 12 deletions
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