Модуль 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-разработке.
Добавить комментарий