English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python базовый учебник

Python управление потоком

Функции в Python

Типы данных в Python

Python файловые операции

Python объекты и классы

Python дата и время

Python продвинутые знания

Python справочник

Python программа поиска хеш-значения файла

Полное руководство по примерам Python

В этой статье вы узнаете, как найти хеш-значение файла Python и показать его.

Чтобы понять этот пример, вы должны знать следующееPython программированиеТема:

Хеш-функция получает любое количество данных и возвращает битовую строку фиксированной длины. Выход функции называется резюме сообщения.

Они широко используются в криптографии для аутентификации. Есть много функций хеширования, таких как MD5, SHA-1 и т.д. См. эту страницу, чтобы узнать больше.Хеширование функций в криптографииБолее подробная информация.

В этом примере мы покажем, как хешировать файл. Мы будем использовать алгоритм хеширования SHA-1. Длина резюме SHA-1 составляет 160 бит.

Мы не предоставляем все данные из файла за один раз, потому что некоторые файлы очень велики и не могут быть помещены в память за один раз. Разделение файла на блоки повысит эффективность использования памяти процессом.

Исходный код хеширования

# Python-программа для поиска SHA1-сообщения摘要 файла
# Импортировать модуль hashlib
import hashlib
def hash_file(filename):
   """Эта функция возвращает хеш SHA-1
    Передать файлу """
   # Создать объект хеша
   h = hashlib.sha1()
   # Открываем файл для чтения в двоичном режиме
   with open(filename, 'rb') as file:
       # Цикл до конца файла
       chunk = 0
       while chunk != b''
           # Чтение только 1024 байт за один раз
           chunk = file.read(1024)
           h.update(chunk)
   # Возвратить шестнадцатеричное представление резюме
   return h.hexdigest()
message = hash_file("track1.mp3")
print(message)

Результат вывода

633d7356947eec543c50b76a1852f92427f4dca9

В этом программном обеспечении мы открываем файл в двоичном режиме. Функции хеширования доступны в модуле hashlib. Мы используем цикл while до конца файла. При достижении конца файла мы получаем объект пустых байт.

В каждом итерации мы читаем из файла только 1024 байта (эта величина может быть изменена по необходимости) и обновляем хеш-функцию.

В конце концов, мы используем метод hexdigest() для возвращения сообщения摘要 в виде шестнадцатеричной записи.

Полное руководство по примерам Python