14.3. md5 – алгоритм дайджеста сообщений MD5¶md5 – 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.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 считается более безопасным хешем.