- PVSM.RU - https://www.pvsm.ru -

Большая подборка функций хеширования на Github

image

Мацей Чижевски собрал на Github коллекцию исходных кодов различных алгоритмов хеширования [1]: для вычисления контрольных сумм, некриптографических и криптографических.

В репозитории можно найти, к примеру, реализации CRC/MD5/ГОСТ 34.311-95/SHA-3. Каждая хеш-функция представлена исходником на языке С и make-файлом для его сборки. Алгоритмы предполагается использовать в целях обучения — в реальных проектах рекомендуется в целях безопасности использовать существующие библиотеки (например, Crypto++ для C++, BouncyCastle для Java и т.д.), список которых есть в репозитории [2].

Над репозиторием продолжается активная работа, поэтому в перспективе стоит ждать пополнения коллекции.

Github [1]

Краткая справка о хеш-функциях

Хеш-функции – это функции, предназначенные для «сжатия» произвольного сообщения или набора данных, записанных, как правило, в двоичном алфавите, в некоторую битовую комбинацию фиксированной длины, называемую сверткой. Хэш-функции имеют разнообразные применения при проведении статистических экспериментов, при тестировании логических устройств, при построении алгоритмов быстрого поиска и проверки целостности записей в базах данных. Основным требованием к хэш-функциям является равномерность распределения их значений при случайном выборе значений аргумента.

Криптографической хеш-функцией называется всякая хеш-функция, являющаяся криптостойкой, то есть удовлетворяющая ряду требований специфичных для криптографических приложений. В криптографии хэш-функции применяются для решения следующих задач:
— построения систем контроля целостности данных при их передаче или хранении,
— аутентификация источника данных.

http://habrahabr.ru/post/93226/ [3]

Автор: HotWaterMusic

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/algoritmy/78718

Ссылки в тексте:

[1] коллекцию исходных кодов различных алгоритмов хеширования: https://github.com/MaciejCzyzewski/retter

[2] есть в репозитории: https://github.com/MaciejCzyzewski/retter#libraries

[3] http://habrahabr.ru/post/93226/: http://habrahabr.ru/post/93226/

[4] Источник: http://habrahabr.ru/post/247279/