Некоторые отличия алгоритма bcrypt от других алгоритмов хэширования в библиотеке Passlib:
Ограниченный набор символов для соли. 1 BCrypt не определяет, как следует вести себя при передаче строки соли за пределами определённого диапазона [./A-Za-z0-9]. 1 Чтобы избежать проблем, PassLib строго ограничивает соль разрешённым набором символов и выбрасывает исключение ValueError, если встречается недопустимый символ соли. 1
Политика работы с кодировкой Unicode. 1 Базовый алгоритм принимает пароль в виде серии ненулевых байтов и не указывает, какую кодировку следует использовать. 1 Чтобы обеспечить поддержку строк Unicode, PassLib кодирует пароли Unicode с помощью utf-8 перед их обработкой с помощью bcrypt. 1
Биты заполнения. 1 В кодировке base64 bcrypt последний символ соли кодирует только 2 бита данных, остальные 4 — это биты заполнения. 1 Аналогично, последний символ дайджеста содержит 4 бита данных и 2 бита заполнения. 1 Из-за способа кодирования многие реализации BCrypt отклоняют все пароли, если эти биты заполнения не установлены в 0. 1
Ограничение длины пароля. 2 BCrypt хэширует только первые 72 символа пароля и молча усекает более длинные. 2
Ответ сформирован YandexGPT на основе текстов выбранных сайтов. В нём могут быть неточности.
Примеры полезных ответов Нейро на вопросы из разных сфер. Вопросы сгенерированы нейросетью YandexGPT для актуальных тем, которые определяются на базе обобщённых запросов к Нейро.