sha — Алгоритм дайджеста сообщений SHA-1
Устарело начиная с версии 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. Это можно использовать для эффективного вычисления дайджестов строк, у которых есть общая начальная подстрока.
См. также
- Стандарт безопасного хеширования
-
Алгоритм безопасного хеширования определяется документом NIST FIPS PUB 180-2: Стандарт безопасного хеширования, опубликованным в августе 2002 года.
- Криптографический набор инструментов (безопасное хеширование)
-
Ссылки от NIST на различные сведения о безопасном хешировании.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/sha.html