【问题标题】:How to properly calculate the QuickXorHash value如何正确计算 QuickXorHash 值
【发布时间】:2018-03-23 05:26:06
【问题描述】:

我正在尝试创建一个工具,该工具将使用他们在此处提供的示例 QuickXorHash 算法验证上传到 OneDrive for Business 的文件:https://docs.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash

我遇到的问题是,在比较完全相同的文件时,我使用他们的代码得到的哈希值与 OneDrive 返回的 json 文件的哈希结果不匹配。

由于 Microsoft 没有提供有关如何使用示例代码的文档,因此我必须做出假设,因此我可能会错误地使用它。有人对此有任何见解吗?

【问题讨论】:

  • 您的工具状态如何?我正在寻找一种工具来比较 OD 业务和本地存储上的文件。

标签: onedrive


【解决方案1】:

我发现了问题。问题在于我将散列字节数组转换为字符串的方式。我最初在网上找到的代码如下:

int i;
StringBuilder outPut = new StringBuilder(byteArray.Length);
for (i = 0; i < byteArray.Length; i++)
{
     outPut.Append(byteArray[i].ToString("x2"));
}
 return outPut.ToString();

但是,在做了一些研究之后,我发现了转换数组的正确方法,而且这个方法更简单:

return Convert.ToBase64String(byteArray);

这会导致哈希值的字符串表示与 OneDrive 上的内容匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-24
    • 2021-08-05
    • 2021-11-18
    • 1970-01-01
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多