pbkdf2
Advanced tools
Comparing version 3.0.17 to 3.1.0
13
index.js
@@ -1,6 +0,11 @@ | ||
var checkParameters = require('./lib/precondition') | ||
var native = require('crypto') | ||
var checkParameters = require('./lib/precondition') | ||
var defaultEncoding = require('./lib/default-encoding') | ||
var toBuffer = require('./lib/to-buffer') | ||
function nativePBKDF2 (password, salt, iterations, keylen, digest, callback) { | ||
checkParameters(password, salt, iterations, keylen) | ||
checkParameters(iterations, keylen) | ||
password = toBuffer(password, defaultEncoding, 'Password') | ||
salt = toBuffer(salt, defaultEncoding, 'Salt') | ||
@@ -17,3 +22,5 @@ if (typeof digest === 'function') { | ||
function nativePBKDF2Sync (password, salt, iterations, keylen, digest) { | ||
checkParameters(password, salt, iterations, keylen) | ||
checkParameters(iterations, keylen) | ||
password = toBuffer(password, defaultEncoding, 'Password') | ||
salt = toBuffer(salt, defaultEncoding, 'Salt') | ||
digest = digest || 'sha1' | ||
@@ -20,0 +27,0 @@ return native.pbkdf2Sync(password, salt, iterations, keylen, digest) |
@@ -0,5 +1,7 @@ | ||
var Buffer = require('safe-buffer').Buffer | ||
var checkParameters = require('./precondition') | ||
var defaultEncoding = require('./default-encoding') | ||
var sync = require('./sync') | ||
var Buffer = require('safe-buffer').Buffer | ||
var toBuffer = require('./to-buffer') | ||
@@ -9,11 +11,11 @@ var ZERO_BUF | ||
var toBrowser = { | ||
'sha': 'SHA-1', | ||
sha: 'SHA-1', | ||
'sha-1': 'SHA-1', | ||
'sha1': 'SHA-1', | ||
'sha256': 'SHA-256', | ||
sha1: 'SHA-1', | ||
sha256: 'SHA-256', | ||
'sha-256': 'SHA-256', | ||
'sha384': 'SHA-384', | ||
sha384: 'SHA-384', | ||
'sha-384': 'SHA-384', | ||
'sha-512': 'SHA-512', | ||
'sha512': 'SHA-512' | ||
sha512: 'SHA-512' | ||
} | ||
@@ -44,3 +46,3 @@ var checks = [] | ||
return subtle.importKey( | ||
'raw', password, {name: 'PBKDF2'}, false, ['deriveBits'] | ||
'raw', password, { name: 'PBKDF2' }, false, ['deriveBits'] | ||
).then(function (key) { | ||
@@ -92,6 +94,6 @@ return subtle.deriveBits({ | ||
checkParameters(password, salt, iterations, keylen) | ||
checkParameters(iterations, keylen) | ||
password = toBuffer(password, defaultEncoding, 'Password') | ||
salt = toBuffer(salt, defaultEncoding, 'Salt') | ||
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) | ||
@@ -98,0 +100,0 @@ resolvePromise(checkNative(algo).then(function (resp) { |
@@ -5,7 +5,9 @@ var defaultEncoding | ||
defaultEncoding = 'utf-8' | ||
} else { | ||
} else if (process.version) { | ||
var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10) | ||
defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary' | ||
} else { | ||
defaultEncoding = 'utf-8' | ||
} | ||
module.exports = defaultEncoding |
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') | ||
module.exports = function (iterations, keylen) { | ||
if (typeof iterations !== 'number') { | ||
@@ -14,0 +5,0 @@ throw new TypeError('Iterations not a number') |
var md5 = require('create-hash/md5') | ||
var RIPEMD160 = require('ripemd160') | ||
var sha = require('sha.js') | ||
var Buffer = require('safe-buffer').Buffer | ||
var checkParameters = require('./precondition') | ||
var defaultEncoding = require('./default-encoding') | ||
var Buffer = require('safe-buffer').Buffer | ||
var toBuffer = require('./to-buffer') | ||
var ZEROS = Buffer.alloc(128) | ||
@@ -69,7 +71,6 @@ var sizes = { | ||
function pbkdf2 (password, salt, iterations, keylen, digest) { | ||
checkParameters(password, salt, iterations, keylen) | ||
checkParameters(iterations, keylen) | ||
password = toBuffer(password, defaultEncoding, 'Password') | ||
salt = toBuffer(salt, defaultEncoding, 'Salt') | ||
if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding) | ||
if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding) | ||
digest = digest || 'sha1' | ||
@@ -76,0 +77,0 @@ |
@@ -13,12 +13,13 @@ var sizes = { | ||
var createHmac = require('create-hmac') | ||
var checkParameters = require('../lib/precondition') | ||
var defaultEncoding = require('../lib/default-encoding') | ||
var Buffer = require('safe-buffer').Buffer | ||
var checkParameters = require('./precondition') | ||
var defaultEncoding = require('./default-encoding') | ||
var toBuffer = require('./to-buffer') | ||
function pbkdf2 (password, salt, iterations, keylen, digest) { | ||
checkParameters(password, salt, iterations, keylen) | ||
checkParameters(iterations, keylen) | ||
password = toBuffer(password, defaultEncoding, 'Password') | ||
salt = toBuffer(salt, defaultEncoding, 'Salt') | ||
if (!Buffer.isBuffer(password)) password = Buffer.from(password, defaultEncoding) | ||
if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding) | ||
digest = digest || 'sha1' | ||
@@ -25,0 +26,0 @@ |
{ | ||
"name": "pbkdf2", | ||
"version": "3.0.17", | ||
"version": "3.1.0", | ||
"description": "This library provides the functionality of PBKDF2 with the ability to use any supported hashing algorithm returned from crypto.getHashes()", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
13347
11
289