Как измерить время вычисления хеша PBKDF2 SHA256 - PullRequest
0 голосов
/ 16 мая 2018

Мне нужно измерить, сколько времени потребуется для вычисления моего хэша с x числом итераций. Вот код:

 function hashPromise(secretPhrase, keylen) {
 let hashedKey
 var promise = new Promise(function(resolve, reject) {
    crypto.pbkdf2(secretPhrase, 'salt', keylen, 256, 
    'sha256', (err, key) => {
        if (err) {
            console.log(err)
            reject(err);
        } else {
            hashedKey = key.toString('hex')
            let time = new Date().getTime()
            console.log('keylen: ' + keylen)
            console.log('TIMESTAMP Hash Finished: ' + time)
            console.log('hashedKey: ' + hashedKey)
            resolve( hashedSSN )
        }
      })
  })

return promise;
}

Я перебираю эту функцию с promise.all пару сотен раз, каждый раз передавая новую секретную фразу.

Я использую http-запрос Firebase Functions для запуска этой функции. Вот мои логи, когда кейлен 1000:

enter image description here

А вот мои логи, если кейлен 500000

enter image description here

Будет ли время вычислений просто разницей между каждым 'TIMESTAMP Hash Finished'? Или это будет время, которое потребовалось для завершения всей функции (наверху журналов)?

Т.е. время вычисления с использованием 500000 кейленов составляет 1526473894031 - 1526473893718 = 313 мс?

...