Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tnk500
113 / 117 / 25
Регистрация: 25.08.2012
Сообщений: 1,269
Завершенные тесты: 3
#1

Написание хэш-функции - C++

31.07.2015, 19:47. Просмотров 239. Ответов 1
Метки нет (Все метки)

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

Шаг 1. Выравнивание потока
Сначала дописывают единичный бит в конец потока (байт 0x80), затем необходимое число нулевых бит. Входные данные выравниваются так, чтобы их новый размер L' был сравним с 448 по модулю 512(L' = 512 * N + 448). Выравнивание происходит, даже если длина уже сравнима с 448.
Чутка не понял. Нужно сделать так, чтобы новый размер был больше текущего, но при этом при делении его на 512 остаток получался равным остатку деления от 448? После последнего символа элемент в строке нужно поставить в 0х80, а остальное в нули, верно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2015, 19:47     Написание хэш-функции
Посмотрите здесь:

Хэш функции - C++
Задание: Написать программу которая реализует хэш-функцию за 3 последними цифрами, идентификационного номера. Реализовать добавления и...

Умножение хэш-функции - C++
Пытаюсь сделать гост 34.10.94. Там получаю хэш функцию:0xFAFF37A615A816691CFF3EF8B68CA247E09525F39F8119832EB81975D366C4B1. Дальше по...

Нужны исходники хэш-функции - C++
SOS!!! пришлите кто-нибудь исходники хэш-функции на sedar@narod.ru

Пример коллизии хэш функции - C++
Видел пример в вики по поводу коллизии хэш функции, но не понял его. То есть, коллизия случается, когда на входе разные данные, а на выходе...

Есть ли стандартные хэш функции - C++
Есть ли в C++ стандартные хэш функции, в которые передаешь строку, получаешь на возврате строку, типа MD5 или CRC32. Спасибо.

Определение хэш-функции для контейнера - C++
На просторах stackoverflow нашел следующую реализацию для std::аrrаy: namespace std { template<typename T, size_t N> struct...

Класс хэш-функции, выскакивает ошибка - C++
Помогите разобраться в чем проблема, неправильно выдает результат class hash_{ private: std::string message; ...

написание функции - C++
Stack.cpp #include "Stack.h" Node* push(Node** pTop, info_t value) { Node* newNode = new Node; newNode->info = value; ...

Написание функции - C++
Ребята можете пожалуйста помочь с задачей? Написать функцию, которая возвращает строку, в которой все символы исходной строки...

Написание функции сложения строк - C++
Необходимо написать функцию сложения двух строк по следующему принципу: "abc" + "qwerty" -> "aqbwcerty" У меня получилось, но не до...

Написание функции для for_each - C++
Хочу распечатать список list через свою функцию используя for_each, но я не могу понять как заставить эту for_each работать с моей...

Написание своей функции swap() - C++
Доброго времени суток. Решил написать свою функцию по смене местами переменных переменных. Вот код: #include <iostream> #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nonedark2008
878 / 617 / 125
Регистрация: 28.07.2012
Сообщений: 1,657
01.08.2015, 01:44     Написание хэш-функции #2
Цитата Сообщение от tnk500 Посмотреть сообщение
После последнего символа элемент в строке нужно поставить в 0х80, а остальное в нули, верно?
Ставишь в конец 0x80, затем добиваешь столько нулей, чтобы L' = 512 * N + 448, т.е. остаток от деление L' на 512 был равен 448. Последнее предложение шага говорит о том, что даже если исходный размер L и так дает в остатке 448, то мы все равно дописываем 0x80 и добавляем 511 нулей.
Yandex
Объявления
01.08.2015, 01:44     Написание хэш-функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru