2023 [11] Хеш-пароль

Система аутентификации проверяет корректность введенного пароля, сравнивая вычисленное хеш-значение. Инженеру Павлу удалось перехватить несколько запросов(паролей) и вычисленных хеш-значений (см. таблицу).
 Пароль  Хеш-значение (в 16-ом формате)
 dragon  6F 0D 14 28
 monkey  65 1A 28 27
 strongestpassword  6E 36 21 2B
 password  77 2E 2C 1E
Павлу удалось частично восстановить программный код генератора хеш-значений 
(см. листинги 1, 2).

Листинг 1 – Функция нормирования длины пароля

Листинг 2 – Функция получения одного хеш-значения строки

Павлу удалось определить, что все пароли перед вычислением хеш-значений, нормируются по длине к 9 символам. Также стало известно, что для каждого байта хеш значения используется свой массив коэффициентов из 0 и 1 (маска), то есть для вычисления первого байта хеш значения применяется маска1, для второго байта – маска2 и так далее.
Помогите Павлу и определите значение масок и правильное хеш-значение для пароля: 

superman


К задаче прилагается: 
    «listing.cpp» – листинг функция на языке программирования C++,
    «listing.py» – листинг функция на языке программирования Python.


Показать подсказку

Показать решение

Показать ответ




<< Назад в раздел (Все задания)

Ваше сообщение получено!