Рубрики
Без рубрики

Хэш-функция MD5: Реализация в Python

Md5-это хэш-функция, доступная в модуле hashlib Python, которая принимает последовательность байтов в качестве входных данных и возвращает 128-битное хэш-значение в качестве выходных.

Автор оригинала: Team Python Pool.

Хэш-функция MD5: Реализация в Python

Привет, кодеры!! В этой статье мы познакомимся с MD5 в Python. Мы подробно обсудим его значение, реализацию и применение. А теперь, не теряя времени, давайте перейдем к теме.

Что такое MD5?

MD5 расшифровывается как алгоритм дайджеста сообщений. Это хэш-функция, которая производит 128-битное хэш-значение. Это используется в качестве контрольной суммы для проверки целостности данных. Он подходит для некриптографических целей, таких как определение раздела для конкретного ключа в секционированной базе данных.

MD5 хэш в Python:

Эта хэш-функция доступна в модуле hashlib Python. Он принимает последовательность байтов в качестве входных данных и возвращает 128-битное хэш-значение в качестве выходных. Основное использование хэш-функции заключается в проверке целостности данных, но у нее есть проблемы с безопасностью.

Связанные функции с md5:

  • encode(): для преобразования строки в байты
  • digest(): возвращает закодированные данные в байтовом формате
  • hexdigest(): возвращает закодированные данные в шестнадцатеричном формате

Пример 1: Печать байтового эквивалента хэша MD5 в Python

import hashlib 
.md5(b'Python Pool') 
print("Hash Value : ",)
print(result)
print("Equivalent Byte : ",) 
print(result.digest())

Вывод и объяснение:

пример python md5
пример python md5

Выход

В этом коде мы берем байтовый ввод, который приемлем хэш-функцией. Затем мы закодировали это значение с помощью хэш-функции md5. Наконец, мы сгенерировали байтовый эквивалент кодированной строки с помощью функции digest ().

Пример 2: Печать шестнадцатеричного эквивалента хэша MD5 в Python

import hashlib 
.md5('Python Pool'.encode()) 
print("Hash Value : ",)
print(result)
print("Hexadecimal Equivalent : ",) 
print(result.hexdigest())

Вывод и объяснение:

Выход

Здесь мы преобразовали строку в ее байтовый эквивалент с помощью функции encode (), сделав ее приемлемой для хэш-функции. Затем мы использовали функцию md5 для его кодирования, и, наконец, используя функцию hexdigest (), отображается ее шестнадцатеричный эквивалент.

Пример 3: Контрольная сумма файла Python MD5

Вывод и объяснение

Пример 3: Контрольная сумма файла Python MD5
Пример 3: Контрольная сумма файла Python MD5

Выход

В этом коде функция hashlib.md5() вызывается для создания объекта MD5. Мы открыли файл в режиме "rb", где rb означает "чтение байтов". Используя метод read (), мы считываем содержимое файла в переменную. Метод update() обновляет содержимое файла. Наконец, используя метод hexdigest (), мы преобразовали хэш в его шестнадцатеричный эквивалент.

Пример 4: Кодирование строки в MD5 с помощью Python

import hashlib .encode().md5(encoded)
print("String : ",)
print(string)
print("Hash Value : ",)
print(result)
print("Hexadecimal equivalent: ",result.hexdigest())

Вывод и объяснение:

Кодирование строки
Кодирование строки

Выход

В этом примере мы использовали функцию hashlib.md5() для кодирования строкового значения в хэш-значение. Затем мы использовали метод hexdigest (), чтобы получить шестнадцатеричный эквивалент сгенерированного хэш-значения. Аналогично, мы также можем использовать метод digest() для получения байтового эквивалента сгенерированного хэш-значения.

Пример 5: Вычисление MD5-хэша файла в Python

import hashlib

with open("sample.txt","rb") as f:
   .read()
    print("Bytes read from the file:",bytes)
   .md5(bytes)
    print("Hah Value: ",result)
    print("The hexadecimal equivalent: ")
    print(result.hexdigest())

Вывод и объяснение:

Вычислить MD5 хэш файла
Вычислить MD5 хэш файла

Выход

В этом коде мы сначала создали образец текстового файла. Затем мы читаем содержимое этого файла в байтах. Мы преобразовали байты в хэш-значение, а затем, наконец, увидели шестнадцатеричный эквивалент для того же самого.

Приложения:

  • Используется в мире программного обеспечения для обеспечения сохранности передаваемого файла
  • Он также используется href="https://en.wikipedia.org/wiki/Electronic_discovery">электронное обнаружение путем предоставления уникального идентификатора для каждого документа, которым обмениваются в процессе юридического обнаружения href="https://en.wikipedia.org/wiki/Electronic_discovery">электронное обнаружение путем предоставления уникального идентификатора для каждого документа, которым обмениваются в процессе юридического обнаружения

Преимущества:

  • обеспечивает безопасность ввода любого размера, который может быть взят для получения выходного сигнала, если 128-битный
  • генерация дайджеста исходного сообщения проста
  • дайджест сообщения, содержащего любое количество битов, может быть выполнен

Недостатки:

  • Он склонен к слабости хэш-коллизии
  • безопасность этих коллизионных атак не обеспечивается
  • довольно медленно по сравнению с оптимизированным href="https://www.educba.com/sha-algorithm/"> Алгоритм SHA href="https://www.educba.com/sha-algorithm/"> Алгоритм SHA

Вывод:

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