gpt4 book ai didi

node.js - 哈希字符串与哈希 UInt8Array

转载 作者:太空宇宙 更新时间:2023-11-04 01:21:48 24 4
gpt4 key购买 nike

我正在比较两个 MD5 库的性能。当我向它们发送一个字符串时,它们返回相同的哈希值:

     Hashing data with 'md5' library...
Hash: d8b1e68f2f36743cdf302ed36f9347dc
Duration: 0.003s

Hashing data with 'create-hash' library...
Hash: d8b1e68f2f36743cdf302ed36f9347dc
Duration: 0.003s

但是,当我向他们发送相同的 UInt8Array 时,他们给了我不同的哈希值:

     Hashing data with 'md5' library...
Hash: 77fcf76d3f8c6a0f685f784d7ca6c642
Duration: 0.001s

Hashing data with 'create-hash' library...
Hash: 0ee0646c1c77d8131cc8f4ee65c7673b
Duration: 0s

为什么会发生这种情况?

const hashData = (name, hashingFunction, data) => {
console.log(`\t Hashing data with '${name}' library...`)
const start = new Date()
const hash = hashingFunction(data)
const end = new Date()
console.log(`\t\t Hash: ${hash}`)
const duration = (end - start) / 1000
console.log(`\t\t Duration: ${duration}s`)
console.log()
}

const runHashes = (data) => {
const hashWithMD5 = (data) => {
const md5 = require('md5')
return md5(data)
}

const hashWithCreateHash = (data) => {
return require('create-hash')('md5').update(data).digest('hex')
}

hashData('md5', hashWithMD5, data)
hashData('create-hash', hashWithCreateHash, data)
}

console.log('*** Running hashes on strings... *** \n')
runHashes("I want you to hash me...")

console.log('*** Running hashes on UInt8Array... *** \n')
runHashes(new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]))

最佳答案

基于md5 module API documentation ,哈希函数接受 StringBuffer。您的 Uin8Array 输入都不是,所以我猜测与给定正确键入的输入的明确定义的输出相比,散列的行为将相对不确定。

关于node.js - 哈希字符串与哈希 UInt8Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58982969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com