🐍 Вычисление контрольных сумм с помощью Python и Hashlib |

🐍 Вычисление контрольных сумм с помощью Python и Hashlib

Скрипты

В мире кибербезопасности и поиска угроз вычисление контрольных сумм является обычной практикой для обеспечения целостности данных и проверки подлинности файлов.

Контрольные суммы – это уникальные значения, сгенерированные из содержимого файла, и они действуют как цифровые отпечатки пальцев.

В Python есть удобный модуль hashlib, который позволяет вычислять различные алгоритмы контрольных сумм, такие как MD5, SHA1 и SHA256.

В этой статье мы расскажем вам о процессе вычисления контрольных сумм с помощью Python и модуля hashlib.

Шаг 1: Импортируйте необходимый модуль

Чтобы начать работу, нам нужно импортировать модуль hashlib, который предоставляет необходимые функции для вычисления контрольных сумм.

import hashlib

Шаг 2: Определение функции

Далее мы определяем функцию compute_checksums, которая принимает в качестве параметра file_path.

Эта функция будет вычислять контрольные суммы MD5, SHA1 и SHA256 для заданного файла.

def compute_checksums(file_path):
    hash_md5 = hashlib.md5()
    hash_sha1 = hashlib.sha1()
    hash_sha256 = hashlib.sha256()

Шаг 3: Открываем файл

Теперь мы открываем файл, указанный в file_path, с помощью оператора with, чтобы обеспечить правильную обработку и закрытие файла.

with open(file_path, "rb") as f:

Шаг 4. Чтение и обновление контрольных сумм

Мы читаем файл кусками по 4096 байт и обновляем контрольные суммы для каждого куска.

Такой подход эффективен для работы с большими файлами.

for chunk in iter(lambda: f.read(4096), b""):
            hash_md5.update(chunk)
            hash_sha1.update(chunk)
            hash_sha256.update(chunk)

Шаг 5: Возврат контрольных сумм

После обработки всего файла мы возвращаем вычисленные контрольные суммы в виде словаря, содержащего значения MD5, SHA1 и SHA256.

return {"md5": hash_md5.hexdigest(), "sha1": hash_sha1.hexdigest(), "sha256": hash_sha256.hexdigest()}

Полный код: Здесь представлен полный код, который вы можете скопировать и использовать в своей работе:

import hashlib

def compute_checksums(file_path):
    hash_md5 = hashlib.md5()
    hash_sha1 = hashlib.sha1()
    hash_sha256 = hashlib.sha256()

    with open(file_path, "rb") as f:
        for chunk in iter(lambda: f.read(4096), b""):
            hash_md5.update(chunk)
            hash_sha1.update(chunk)
            hash_sha256.update(chunk)

    return {"md5": hash_md5.hexdigest(), "sha1": hash_sha1.hexdigest(), "sha256": hash_sha256.hexdigest()}

Используя этот код, вы сможете вычислить контрольные суммы MD5, SHA1 и SHA256 для любого указанного вами файла.

Это может быть очень полезно в различных сценариях кибербезопасности и поиска угроз для обеспечения целостности и подлинности файлов.

см. также:

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий