将文件作为缓冲区和bytearray放置不产生相同的哈希(xxhash)
我有一个 c#脚本在字节数组中读取文件,并使用 xxhash c#算法(非限制性哈希)类似:
string p = "C:\\Users\\abc\\Documents\\bow.png";
x = hash(File.ReadAllBytes(p), 10);
private uint hash(byte[] data , int length, uint seed=0)
{
return xxHash32.ComputeHash(data, length, seed);
}
我想使用 expressjs 服务器中产生相同的哈希 。 /package/xxhash“ rel =“ nofollow noreferrer”> xxhash js js中的库,但是我没有相同的哈希。这就是我在做的事情:
var XXHash = require('xxhash');
var fs = require('fs');
function getByteArray(filePath){
let fileData = fs.readFileSync(filePath).toString('hex');
let result = []
for (var i = 0; i < fileData.length; i+=2)
result.push('0x'+fileData[i]+''+fileData[i+1])
return result;
}
file = Buffer.from(getByteArray( __dirname + "/Files/nfts/bow.png" ))
const uint32array = new Uint32Array(file);
var result = XXHash.hash(uint32array, 0);
我想问题是在C#脚本中,我使用的是字节数组,但是在Nodejs中,我使用了 buffer 。您知道如何解决吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论