gpt4 book ai didi

c# - 最快的哈希代码生成器 .NET

转载 作者:行者123 更新时间:2023-11-30 13:29:26 26 4
gpt4 key购买 nike

我正在为 C# 中的 System.Drawing.Point 类实现自定义 GetHashCode。我的方法目前不符合以下要求:

var hashA = MyGetHashCode(new Point(1, 0));
var hashB = MyGetHashCode(new Point(0, 1));
var hashC = MyGetHashCode(new Point(0, 0));
var hashD = MyGetHashCode(new Point(1, 1));
Assert.AreNotEqual(hashA ^ hashB, hashC ^ hashD);

要通过此测试,我确信使用 new SHA256Managed().ComputeHash(currentHash) 即可。但是还有其他更快的哈希算法吗?我知道 SHA256 与安全有关,我不需要它。

最佳答案

一个简单的散列?怎么样:

 (17 * point.X) + (23 * point.Y);

或者更明显的熵:

int hash = -1047578147;
hash = (hash * -1521134295) + point.X;
hash = (hash * -1521134295) + point.Y;

(来自 C# 的匿名类型代码的数字)

关于c# - 最快的哈希代码生成器 .NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/964795/

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