Python Glossary English

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Сообщить о неточности