在 C# 中对 SHA-1 生成的密钥进行数字运算

发布于 2024-09-01 16:40:50 字数 139 浏览 7 评论 0原文

我正在尝试实现 Chord 分布式哈希表。我想使用 SHA-1 作为哈希函数来生成节点 id 并将值映射到 DHT。但是,我需要对 SHA-1 生成的密钥使用数字运算,例如取模。我想知道应该将获得的字节数组放入哪种类型的变量中,以及如何从一种类型转换为另一种类型。

I'm trying to implement a Chord distributed hash table. I want to use SHA-1 as the hash function to generate node ids and map values to the DHT. However, I'll need to use numerical operations on the SHA-1 generated key, such as a modulo, for example. I wonder in which type of variable should I put the array of bytes I get, and how can I convert from one to another.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼前雾蒙蒙 2024-09-08 16:40:50

如果您的密钥的最大长度为 8 个字节,您可以从获得的字节创建一个 long 变量。
如果你的输出较长,你必须寻找一个适用于字节数组的 C# 大数字库。

编辑:

注意 .NET Framwork 版本 4 具有 BigInteger 类型,正好可以满足您的需求。

互联网上还有很多项目也提供类似的功能。

If your key has the maximum length of 8 bytes you can create a long variable from the byte you get.
If your output is longer you have to look out for a big-number library for c# which works on byte arrays.

EDIT:

NOTE That .NET Framwork Version 4 has the BigInteger type which just would fit your needs.

There also lots of projects on the internet which also provides similar functionality.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文