# Проверка Bcrypt

Проверьте, соответствует ли пароль хешу bcrypt. Вставьте пароль и хеш с префиксом $2a$, $2b$ или $2y$: инструмент прочитает из строки соль и стоимость, пересчитает хеш и сообщит, совпадают ли они. Это помогает разработчикам разбираться с проблемами входа, проверять миграции баз данных и тестировать хеши из PHP, Node.js или Python. Хеши со стоимостью выше 12 отклоняются; пароль никогда не отображается.

## Часто задаваемые вопросы

### Как работает проверка bcrypt?

Инструмент считывает из строки хеша версию, стоимость и соль, хеширует ваш пароль с теми же параметрами и сравнивает результат с сохраненным хешем. Если они идентичны, результат — совпадение, иначе — несовпадение.

### Какие форматы хешей поддерживаются?

Инструмент принимает модульный формат crypt с префиксами $2a$, $2b$ и $2y$, двухзначной стоимостью и 53 символами соли и хеша. Он поддерживает PHP password_hash, Node.js bcrypt и bcryptjs, Python bcrypt и Spring Security.

### Почему мой хеш отклонен?

Хеш должен содержать ровно 60 символов в формате $2b$10$ с последующими 53 символами из алфавита bcrypt. Убедитесь, что он не был обрезан столбцом базы данных и не заключен в кавычки. Хеши со стоимостью выше 12 отклоняются, чтобы сервис работал быстро.

### Можно проверить известный пример?

Опубликованный тестовый вектор jBCrypt $2a$06$If6bvum7DFjUnE9p2uDeDu0YHzrHM6tf.iqN8.yx.jNN1ILEf7h0i соответствует паролю abc. Если ввести оба значения, результатом будет совпадение; любой другой пароль даст несовпадение.

### Почему предел стоимости равен 12?

Проверка хеша обходится так же дорого, как его создание, а каждый шаг стоимости удваивает время. Значения выше 12 могут требовать нескольких секунд, поэтому инструмент отклоняет их, чтобы не перегружать сервер.

### Показывает ли проверяющий инструмент мой пароль или сохраняет его?

Нет. Ответ содержит только хеш и результат проверки, но не пароль. Ничего не записывается в журнал и не сохраняется.

### Какова максимальная длина пароля?

Bcrypt считывает только первые 72 байта пароля, а этот инструмент отклоняет более длинные пароли, не обрезая их. Если при создании хеша ваша система обрезала более длинный пароль, введите только его первые 72 байта.

### В чем разница между $2a$, $2b$ и $2y$?

Эти префиксы обозначают исправления ошибок в старых реализациях: $2y$ появился благодаря исправлению crypt_blowfish в PHP, а $2b$ — благодаря исправлению OpenBSD для длинных паролей. Для корректных паролей длиной до 72 байт все три варианта вычисляют одинаковый хеш, поэтому инструмент проверяет каждый из них.

### Можно ли здесь проверять хеши других алгоритмов?

Нет. Этот инструмент проверяет только хеши bcrypt. Для строк, начинающихся с $argon2, используйте Argon2 Verifier.

### Почему новый хеш bcrypt моего пароля не совпадает с сохраненным?

В каждом хеше bcrypt используется новая случайная соль, поэтому хеши одного и того же пароля всегда представляют собой разные строки. Поэтому при проверке хеш пересчитывается с сохраненной солью, а не сравниваются два хеша.

Ваша реклама здесь?

[Напишите нам по электронной почте](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набор плагинов для работы агентов с WordPress.](https://sleekwp.com/?ref=oneclickpro)
