Python Glossary English

Python 3.6+hashlibфункция

hashlib.blake2b()

хеширование

Хеш BLAKE2b: до 64 байт выхода, быстрее SHA-2 на 64-битных процессорах. Умеет хешировать с ключом, солью и заданной длиной без отдельного hmac.

Синтаксис

hashlib.blake2b(data=b'', *, digest_size=64, key=b'', salt=b'', person=b'')

digest_size входит в параметры алгоритма, поэтому blake2b(digest_size=16) — не начало 64-байтного хеша, а другое значение; обрезать длинный хеш вместо указания digest_size нельзя. С key=b'...' получается готовый код проверки подлинности, по свойствам равный HMAC, но быстрее. Все параметры, кроме data, передаются только по имени.

Примеры

import hashlib
print(hashlib.blake2b(b'abc').hexdigest()[:16])  # → ba80a53f981c4d0d
print(hashlib.blake2b(b'abc', digest_size=16).hexdigest())  # → cf4ab791c62b8d2b2109c90275287816
import hashlib
tag = hashlib.blake2b(b'abc', key=b'secret', digest_size=16)
print(tag.hexdigest())  # → b728f0c8cb10089e9c7b3549c0cdea97

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности