Модуль hashlib предоставляет набор функций для работы с криптографическими хеш-функциями, такими как MD5, SHA-1, SHA-256 и другими. В данной статье мы рассмотрим основы использования модуля hashlib в Python.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Создание хеша
Для создания хеша используйте функцию hashlib.new(). В качестве аргумента укажите название алгоритма хеширования, например, 'md5' или 'sha256'.
import hashlib
md5_hash = hashlib.new('md5')
sha256_hash = hashlib.new('sha256')
Хеширование данных
Для хеширования данных используйте метод update(). Метод принимает в качестве аргумента байтовую строку.
data = b'Hello, world!' md5_hash.update(data) sha256_hash.update(data)
💡 Важно: Не забудьте преобразовать строку в байты с помощью encode() перед вызовом update().
data = 'Hello, world!' md5_hash.update(data.encode()) sha256_hash.update(data.encode())
Получение хеша
Для получения хеша в виде шестнадцатеричной строки используйте метод hexdigest().
md5_hex = md5_hash.hexdigest()
sha256_hex = sha256_hash.hexdigest()
print(f'MD5: {md5_hex}')
print(f'SHA-256: {sha256_hex}')
Вывод:
MD5: 65a8e27d8879283831b664bd8b7f0ad4
SHA-256: 315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3
На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.
Хеширование файла
Для хеширования файла сначала откройте его в двоичном режиме, затем считывайте блоки данных и передавайте их в метод update().
file_path = 'example.txt'
with open(file_path, 'rb') as file:
while True:
data = file.read(1024)
if not data:
break
md5_hash.update(data)
sha256_hash.update(data)
print(f'MD5: {md5_hash.hexdigest()}')
print(f'SHA-256: {sha256_hash.hexdigest()}')
Теперь вы знаете основы работы с модулем hashlib в Python. Этот модуль полезен для проверки целостности данных, аутентификации и других криптографических задач. Если вам интересно углубиться в тему, рекомендуем посетить онлайн школу и пройти курс по Python-разработке.
Перейти в телеграм, чтобы получить результаты теста





Забрать
Добавить комментарий