Разработка программы, которая осуществляет хеширование – преобразование массива входных данных произвольной длины в (выходную) битовую строку фиксированной длины, выполняемое алгоритмом MD5. Описание алгоритма MD5. Результаты тестирования программы.
Аннотация к работе
Цель работы - написание программы, которая осуществляет хеширование - преобразование массива входных данных произвольной длины в (выходную) битовую строку фиксированной длины, выполняемое алгоритмом MD5. Алгоритм получает на входе сообщение произвольной длины и создает в качестве выхода дайджест сообщения длиной 128 бит. В конец сообщения дописывают 64-битное представление длины данных (количество бит в сообщении) до выравнивания. В результате первых двух шагов создается сообщение, длина которого кратна 512 битам. Для вычислений инициализируются 4 переменных размером по 32 бита и задаются начальные значения шестнадцатеричными числами (порядок байтов little-endian, сначала младший байт): А = 01 23 45 67; // 67452301hВ главной форме присутствует компонент GROUPBOX («Выбор элемента»), который объединяет 2 элемента управления - RADIOBUTTON («Файл», «Текстовое сообщение»). Файловый режим позволяет: · задать входной файл; · задать выходной файл, в котором будет лежать полученное хеш-значение. · задать выходной файл, в котором будет лежать полученное хеш-значение. Этот файл создается в указанном каталоге, и после нажатия кнопки «Save», хеш-значение будет записано в указанный файл.Профессор Рональд Ривест при описании алгоритма хеширования MD5 предоставил некоторый набор тестов для проверки работоспособности алгоритма. Проверка полученного хеш-значения на экране главного окна Проверка полученного хеш-значения в сохраненном файле Проверка полученного хеш-значения на экране главного окна Проверка полученного хеш-значения на экране главного окнаВ результате выполнения данной работы было написано приложение, позволяющее получить хеш-значение с помощью алгоритма хеширования MD5.using System.Collections.Generic; using System.Data; using System.Text; using System.Windows.Forms; {using (STREAMWRITER OUTPUTFILE = new STREAMWRITER(OUTPUTFILETEXTBOX.