- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们希望以与 OneDrive 相同的方式计算 XOrHash,以便我们可以检测到与 OD4B 后端同步所需的任何更改。
我有当前使用的 XOrHash 算法的实现,可以在这里找到 https://learn.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash
然而,没有任何建议可以在我们的代码中计算相同的散列来匹配 OD4B 提供给我们的散列。
我们使用上面链接中提供的 XOrHash 算法为我们提供哈希的字节数组,其典型长度为 20 个字节。
public static byte[] ComputeHash(string filePath)
{
using (var quickXor = XOrHash.Create())
{
using (var stream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
return quickXor.ComputeHash(stream);
}
}
}
public static string ConvertHexToString(this byte[] bytes)
{
return Convert.ToBase64String(bytes);
}
returns "4FPisLqvTiuaxUVVz6Zk+RxMClE=" OD4B tells us the hash is "LmpqMT5KKX4ATcd372ZTyVr3gIk="
很明显,我们不匹配,除了下一页建议使用散列是 base64 字符串 https://learn.microsoft.com/en-us/onedrive/developer/rest-api/resources/hashes 之外,无法找到任何关于此的文档
任何关于我们应该如何计算散列然后返回字符串的示例代码或提示将不胜感激。
OD4B JSON
{"@odata.context":"omitted","@odata.type":"#oneDrive.item","@odata.id":"omitted","@odata.etag":"\"{D997D9C3-7976-4873-99F0-F4A5A1572B2A},2\"","@odata.editLink":"omitted","createdDateTime":"2017-12-04T17:07:40Z","id":"omitted","lastModifiedDateTime":"2017-12-04T17:07:40Z","name":"pptx001.pptx","file":{"hashes":{"quickXorHash":"LmpqMT5KKX4ATcd372ZTyVr3gIk="},"mimeType":"application/vnd.openxmlformats-officedocument.presentationml.presentation"},"size":29765}
最佳答案
这样做:
XOrHash.Create()
您实际上并没有使用快速异或算法。 Create()
是 HashAlgorithm
类的静态方法,它创建一些默认的哈希算法实例(我记得是 SHA1)。所以你实际调用的是:
HashAlgorithm.Create()
相反,这样做:
using (var quickXor = new XOrHash())
关于c# - 如何在 C# 中计算 OneDrive XOrHash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47650931/
我需要使用 power automate + Office 脚本从一个 Excel 工作表复制数据并粘贴(仅值)到另一个工作表 我开始使用下面链接中的答案创建流程。 Power Automate: C
我试图删除这个项目文件夹,但即使在我运行 rm -force 之后它仍然拒绝我.它向我展示了这个: is an NTFS junction point. Use the Force parameter
当我使用“知道此链接的任何人都可以查看此项目”选项在 UI 中创建共享链接时,我得到一个类似于 https://onedrive.live.com/redir?resid=XXX!YYYY&authk
(创建超链接后,我将在 OneNote 中使用它链接到我自己的 Onedrive 上的文件,仅供我使用!) 当我在线查看 Word 中的文件时,显示的 URL 是: https://onedrive.
我想在一个 rest API 调用中获取 office365 onedrive 文件夹中包含的所有文件和文件夹,有没有办法做到这一点? 最佳答案 没有特定的 API 调用来检索 Drive 的平面表示
我正在构建一个 Windows 服务,该服务使用以下方法通过 Graph API 连接到 OneDrive for Business: https://graph.microsoft.io/en-us
请允许我解释什么我在做什么以及如何我在做什么。 我在做什么? 我正在尝试使用其 REST API 将文件上传到 Onedrive来源:one drive api documentation 我正在使用
我正在尝试使用 java sdk 将文件上传到 OneDrive 特殊文件夹,但出现以下错误 错误代码:BadRequest 错误消息:使用“microsoft.graph.createUploadS
我正在尝试使用 OneDrive iOS SDK 将 OneDrive 集成到我的应用程序中。我设法做了我想做的大部分事情,但我似乎无法弄清楚如何在 OneDrive 上的文件夹(项目)中上传图像。上
Microsoft Graph 可以提供 List items shared with the signed-in user 。我想将此 REST 功能与 OneDrive file picker f
我正在尝试通过以下 URL 获取 OneDrive 访问 token https://login.live.com/oauth20_token.srf?client_id=YOUR_CLIENT_ID
我是 skydrive 的新生。然后我想在html中使用文件选择器,并从Interactive Live SDK复制演示代码。但运行结果,打开的窗口并没有直接到文件选择器页面,只是直接到我设置的red
如果我想在保存后使用打开的 Workbook 对象获取 Excel 文件的全名,但该文件已同步到 OneDrive,我会得到一个“https”地址,而不是其他程序无法解释的本地地址。 如何获取这样的文
我刚刚开始使用 OneDrive API。我有一个与 Google Drive 和 Dropbox 集成并从这些服务接收推送通知的应用程序,我希望包含 OneDrive 支持。 也许我没有在看 rig
尝试以不那么困惑的方式存储用户设置和默认保存的数据位置。 在 PC1 上, Label1.Caption := TPath.GetDocumentsPath; 向我显示 C:\Users\Mike\D
我想检查用户是否已经登录到 OneDrive,如果没有,则允许他们登录。我首先在 JS/HTML 项目中尝试过此操作。然后使用 C#/XAML 项目。 我查看了 C#/XAML OneDrive 代码
所以我制作了一个 OneDrive uploader ,它使用 Azure,目前它不适用于教育或工作场所帐户。它仅适用于普通的 Microsoft 帐户。如何让我的应用程序与其他类型的 Microso
我是 Azure 开发的新手。所以我尝试从微软文档( https://learn.microsoft.com/en-us/learn/modules/msgraph-access-file-data/
我正在尝试使用以下网址提取根文件夹中的所有文件: https://api.onedrive.com/v1.0/drive/root/children 但这也给了我同一文件夹下的所有文件夹。有没有办法只
我在引用中没有找到在 WP8.1 上使用 OneDrive SDK 创建新 OneDrive 文件夹的方法。我正在寻找一种跨设备和平台备份和同步的方法。 最佳答案 您可以使用 REST 在 OneDr
我是一名优秀的程序员,十分优秀!