Документация Python неофициальный перевод

14.3. md5 – алгоритм дайджеста сообщений MD5md5 – MD5 message digest algorithm

Устарело с версии 2.5: Вместо этого используйте модуль hashlib.

Этот модуль реализует интерфейс к алгоритму дайджеста сообщений MD5 от RSA (см. также Internet RFC 1321). Его использование довольно просто: используйте new() для создания объекта md5. Затем этому объекту можно передавать произвольные строки с помощью метода update(), и в любой момент можно запросить дайджест (надёжный вид 128-битной контрольной суммы, также известный как «отпечаток») конкатенации строк, переданных ему на данный момент, с помощью метода digest().

Например, чтобы получить дайджест строки 'Nobody inspects the spammish repetition':

>>> import md5
>>> m = md5.new()
>>> m.update("Nobody inspects")
>>> m.update(" the spammish repetition")
>>> m.digest()
'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'

Более компактно:

>>> md5.new("Nobody inspects the spammish repetition").digest()
'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'

Следующие значения предоставляются как константы в модуле и как атрибуты объектов md5, возвращаемых new():

md5.digest_size

Размер результирующего дайджеста в байтах. Всегда равен 16.

Модуль md5 предоставляет следующие функции:

md5.new([arg])

Возвращает новый объект md5. Если присутствует arg, выполняется вызов метода update(arg).

md5.md5([arg])

По причинам обратной совместимости это альтернативное имя функции new().

Объект md5 имеет следующие методы:

md5.update(arg)

Обновляет объект md5 строкой arg. Повторные вызовы эквивалентны одному вызову с конкатенацией всех аргументов: m.update(a); m.update(b) эквивалентно m.update(a+b).

md5.digest()

Возвращает дайджест строк, переданных методу update() на данный момент. Это 16-байтовая строка, которая может содержать символы, отличные от ASCII, включая нулевые байты.

md5.hexdigest()

Как digest(), за исключением того, что дайджест возвращается в виде строки длиной 32, содержащей только шестнадцатеричные цифры. Это может использоваться для безопасного обмена значением по электронной почте или в других недвоичных средах.

md5.copy()

Возвращает копию («клон») объекта md5. Это можно использовать для эффективного вычисления дайджестов строк, имеющих общую начальную подстроку.

См. также

Модуль sha

Аналогичный модуль, реализующий алгоритм безопасного хеширования (SHA). Алгоритм SHA считается более безопасным хешем.