14.4. sha – алгоритм дайджеста сообщений SHA-1¶sha – 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 на различные сведения о защищённом хэшировании.