Академический Документы
Профессиональный Документы
Культура Документы
ОТЧЕТ по
СРО № 2
Приняла: Водолазкина Н. А. .
(ученая степень, звание, Ф.И.О.)
__________________________ «_____»________________2022 г.
(оценка) (подпись)
Алматы, 2023
Цель работы: разработать Хэш-функцию своего имени.
Введение:
Хэш-функция преобразует входные данные фиксированной длины в
выходные данные фиксированной длины, называемые хэш-кодом. Цель хэш-
функции - обеспечить равномерное распределение хэш-кодов для различных
входных данных, чтобы минимизировать количество коллизий, то есть
ситуаций, когда различные входные данные дают одинаковый хэш-код.
Задание:
Разработать Хэш-функцию имени "Роман
Решение:
1. Для разработки хэш-функции имени "Роман", можем использовать
более сложный подход: использовать метод SHA-256 (Secure Hash
Algorithm 256-bit), который является стандартной хэш-функцией,
широко используемой в криптографии и информационной
безопасности. Для этого необходимо преобразовать имя "Роман" в
бинарный формат и применить алгоритм SHA-256 для получения 256-
битного хэш-кода.
2
4. Затем, можем использовать библиотеку hashlib Python для
вычисления хэш-значения SHA-256 для этой последовательности
байтов:
def hash_name(name):
alphabet = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'
hash_code = sum([alphabet.index(c.lower()) + 1 for c in name])
hash_code = hash_code % len(name)
return hash_code
Пример использования:
name = 'Роман'
hash_code = hash_name(name)
print(f"Хэш-код для имени {name}: {hash_code}")
3
Вывод:
В данной самостоятельной работе №2, я научился разрабатывать и
использовать хэш-функцию по своему имени.