Как измерить время вычисления хеша PBKDF2 SHA256

Мне нужно измерить, сколько времени потребуется для вычисления моего хэша с 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:

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

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

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

0 ответов

Другие вопросы по тегам