import hashlib hashlib.new(name[, data], usedforsecurity=True)
name
- строка с названием алгоритма хеширования,data
- bytes
, данные для которых вычисляется хеш,usedforsecurity=True
- запрещает использовать небезопасные и заблокированные алгоритмы хеширования (новое в Python 3.9).Функция new()
модуля hashlib
представляет из себя общий конструктор, который принимает имя name
в качестве строки желаемого алгоритма хеширования как первый параметр функции.
В функцию можно передавать все имена алгоритмов, возвращаемых атрибутом модуля hashlib.algorithms_available
, а также любые другие имена алгоритмов, которые может предложить ваша библиотека OpenSSL.
Внимание. Именованные функции хеширования намного быстрее, чем конструктор hashlib.new()
и должны быть предпочтительными.
Использование функция hashlib.new()
с алгоритмом, предоставленным OpenSSL.
>>> import hashlib >>> h = hashlib.new('ripemd160') >>> h.update(b"Nobody inspects the spammish repetition") >>> h.hexdigest() # 'cc4a5ce1b3df48aec5d22d1f16b894a0b894eccc'