我需要测量用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循环遍历此函数几百次,每次传递一个新的secretPhrase。
我正在使用Firebase Functions http请求来触发此功能。当keylen为1000时,以下是我的日志:
如果keylen是500000
,这是我的日志计算时间只是每个' TIMESTAMP Hash Finished&#39 ;?之间的差异或者是整个功能完成所需的时间(在日志顶部)?
即使用500000键盘的计算时间是1526473894031 - 1526473893718 = 313ms?