Python 3.6+hashlibфункция
hashlib.blake2s()
хеширование
Хеш BLAKE2s: до 32 байт выхода, рассчитан на 8–32-битные процессоры. Параметры те же, что у blake2b(), но пределы ключа и соли вдвое меньше.
Синтаксис
hashlib.blake2s(data=b'', *, digest_size=32, key=b'', salt=b'', person=b'')
На обычном 64-битном компьютере blake2b() быстрее, так что blake2s() выбирают ради короткого выхода или слабого железа. Пределы: ключ до 32 байт, соль и person до 8; длиннее — ValueError. Короткая соль дополняется нулями, поэтому salt=b'salt' и salt=b'salt\x00' дают одинаковый хеш — для ключа это не так.
Примеры
import hashlib
print(hashlib.blake2s(b'abc').hexdigest()[:16]) # → 508c5e8c327c14e2
print(hashlib.blake2s.MAX_KEY_SIZE, hashlib.blake2s.SALT_SIZE) # → 32 8
import hashlib
try:
hashlib.blake2s(b'abc', key=b'x' * 33)
except ValueError as e:
print(e) # → maximum key length is 32 bytes
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности