Я реализую пользовательский GetHashCode для класса System.Drawing.Point в C #. Мой метод в настоящее время не соответствует следующему требованию:
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);
Чтобы пройти этот тест, я уверен, что использование нового SHA256Managed (). ComputeHash (currentHash) подойдет Но есть ли другой более быстрый алгоритм хеширования? Я знаю, что SHA256 - это безопасность, и мне это не нужно.