Encryption 如何测量PBKDF2 SHA256哈希计算时间

Encryption 如何测量PBKDF2 SHA256哈希计算时间,encryption,hash,google-cloud-functions,pbkdf2,Encryption,Hash,Google Cloud Functions,Pbkdf2,我需要测量用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) {

我需要测量用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;
}
我带着承诺在这个函数中循环了几百次,每次都传递一个新的秘密短语

我正在使用Firebase函数http请求触发此函数。以下是我在keylen为1000时的日志:

如果凯伦是500000,这是我的日志

计算时间仅仅是每个“时间戳哈希完成”之间的差异吗?或者是整个函数完成所需的时间(在日志顶部)


Ie-使用500000 keylen的计算时间是1526473894031-1526473893718=313ms?

FWIW:您将keylen硬编码为256,名为keylen的变量实际上是迭代。哇,捕捉得好。谢谢关于计算时间有什么想法吗?