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

14.4. sha – алгоритм дайджеста сообщений SHA-1sha – SHA-1 message digest algorithm

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

Этот модуль реализует интерфейс к защищённому хэш-алгоритму NIST, известному как SHA-1. SHA-1 – улучшенная версия исходного хэш-алгоритма SHA. Он используется аналогично модулю md5: вызов new() создаёт объект sha, затем в этот объект передаются произвольные строки методом update(), и в любой момент можно запросить дайджест конкатенации всех переданных на данный момент строк. Дайджесты SHA-1 имеют длину 160 бит, в отличие от 128 бит у MD5.

sha.new([string])

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

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

sha.blocksize

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

sha.digest_size

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

Объект sha имеет те же методы, что и объекты md5:

sha.update(arg)

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

sha.digest()

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

sha.hexdigest()

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

sha.copy()

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

См. также

Secure Hash Standard

Алгоритм Secure Hash определяется документом NIST FIPS PUB 180-2: Secure Hash Standard, опубликованным в августе 2002 года.

Cryptographic Toolkit (Secure Hashing)

Ссылки от NIST на различные сведения о защищённом хэшировании.