Access workbench Локальный bcrypt

Генератор htpasswd для Apache и Traefik

Создайте совместимую bcrypt-запись и сразу получите безопасный исходник для файла .htpasswd или экранированный вариант для Docker Compose.

01

Учётная запись

Данные обрабатываются только на этом устройстве.

PRIVATE
Каждый следующий уровень примерно удваивает вычислительную работу.

Пароль не попадёт в сеть или журнал сервера.

Практическое руководство

От пароля до работающего Basic Auth

Разберите формат записи, выберите правильный вариант для своей конфигурации и не потеряйте защиту на этапе развёртывания.

Модель процесса

Что происходит в браузере

Bcrypt не шифрует пароль для последующей расшифровки. Он создаёт односторонний адаптивный хеш с новой случайной солью при каждом запуске.

Выбор формата

Один хеш — два способа вставки

FILE

Apache или Traefik usersFile

Сохраните обычную строку. Доллары являются частью bcrypt-хеша и не экранируются.

admin:$2y$10$…
COMPOSE

Traefik в Docker Compose labels

Compose обрабатывает значения до передачи контейнеру, поэтому буквальный доллар записывается как $$.

admin:$$2y$$10$$…
Apache · httpd.conf
AuthType Basic
AuthName "Private area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Traefik · docker-compose.yml
labels:
  - "traefik.http.middlewares.auth.basicauth.users=admin:$$2y$$10$$…"
  - "traefik.http.routers.app.middlewares=auth"

Настройка нагрузки

Как читать стоимость bcrypt

Стоимость — двоичный логарифм числа раундов. Переход с 10 на 11 примерно удваивает работу, а с 10 на 12 — увеличивает её примерно в 4 раза. Реальное время зависит от устройства.

4–7Быстрые тестыДля постоянной защиты обычно слишком быстро.
11–13Усиленная защитаПроверьте задержку входа на своём сервере.
14–17Очень медленноМожет заметно задерживать генерацию и проверку.

Контрольный список

Хеш — не вся защита

Только HTTPS

Basic Auth кодирует учётные данные, но не шифрует транспорт.

Файл вне web-root

Посетитель не должен иметь возможность скачать файл с хешами.

Уникальный пароль

Не используйте пароль от основной учётной записи или другого сервиса.

Проверьте развёртывание

Убедитесь, что Compose передал одиночные доллары внутрь Traefik.

Первоисточники

Формат и конфигурация

FAQ

Частые вопросы

Зачем удваивать знаки доллара для Traefik?

Это нужно не самому bcrypt и не Traefik, а Docker Compose. Последовательность $$ превращается в один буквальный $ при обработке Compose-файла.

Нужно ли удваивать доллары в файле .htpasswd?

Нет. В обычном файле, Apache AuthUserFile и Traefik usersFile оставляйте одиночные доллары.

Почему одинаковый пароль каждый раз получает новый хеш?

Bcrypt создаёт новую случайную соль. Разные строки могут корректно проверять один пароль.

Что означает ограничение 72 байта?

Bcrypt использует только первые 72 байта пароля. Один символ UTF-8 может занимать несколько байт, поэтому генератор считает именно байты.

Отправляется ли пароль на сервер?

Нет. Библиотека bcrypt загружается с ToolKitch, а вычисление выполняется локально в браузере.