Числовые операции над ключами, сгенерированными SHA-1 в C#

Я пытаюсь реализовать распределенную хэш-таблицу Chord. Я хочу использовать SHA-1 в качестве хэш-функции для генерации идентификаторов узлов и сопоставления значений с DHT. Однако мне нужно будет использовать числовые операции над сгенерированным ключом SHA-1, например, по модулю. Интересно, в какую переменную мне следует помещать массив байтов, которые я получаю, и как я могу конвертировать из одного в другой.

1 ответ

Решение

Если ваш ключ имеет максимальную длину 8 байтов, вы можете создать длинную переменную из полученного байта. Если ваш вывод длиннее, вы должны искать библиотеку больших чисел для C#, которая работает с байтовыми массивами.

РЕДАКТИРОВАТЬ:

ПРИМЕЧАНИЕ. Версия.NET Framwork версии 4 имеет тип BigInteger, который просто соответствует вашим потребностям.

Есть также много проектов в Интернете, который также предоставляет аналогичную функциональность.

Другие вопросы по тегам