Числовые операции над ключами, сгенерированными SHA-1 в C#
Я пытаюсь реализовать распределенную хэш-таблицу Chord. Я хочу использовать SHA-1 в качестве хэш-функции для генерации идентификаторов узлов и сопоставления значений с DHT. Однако мне нужно будет использовать числовые операции над сгенерированным ключом SHA-1, например, по модулю. Интересно, в какую переменную мне следует помещать массив байтов, которые я получаю, и как я могу конвертировать из одного в другой.
1 ответ
Если ваш ключ имеет максимальную длину 8 байтов, вы можете создать длинную переменную из полученного байта. Если ваш вывод длиннее, вы должны искать библиотеку больших чисел для C#, которая работает с байтовыми массивами.
РЕДАКТИРОВАТЬ:
ПРИМЕЧАНИЕ. Версия.NET Framwork версии 4 имеет тип BigInteger, который просто соответствует вашим потребностям.
Есть также много проектов в Интернете, который также предоставляет аналогичную функциональность.