Генератор htpasswd

Создавайте строку .htpasswd для Apache или nginx и заголовок HTTP Basic Authorization из имени пользователя и пароля с хешированием bcrypt, APR1 или SHA-1 — полностью в браузере.

Загрузка инструмента…

Генератор htpasswdВведите имя пользователя и пароль, чтобы сразу получить две вещи: готовую к вставке строку .htpasswd для базовой аутентификации Apache или nginx и соответствующий заголовок HTTP Basic Authorization, который отправил бы ваш клиент. Заголовок — это base64 от user:pass, он обновляется мгновенно, а хешированная строка .htpasswd вычисляется при нажатии «Сгенерировать». Всё выполняется локально с помощью Web Crypto API и встроенного в браузер хешера WebAssembly, поэтому ваш пароль никогда не загружается ни на один сервер.

Что такое Генератор htpasswd?

Генератор htpasswd — это бесплатный браузерный инструмент для создания учётных данных, используемых базовой аутентификацией HTTP. Системные администраторы и веб-разработчики применяют его, чтобы защитить каталог или панель администратора именем пользователя и паролем, не устанавливая утилиту командной строки htpasswd из Apache. Он создаёт одну строку user:hash, которую вы добавляете в файл .htpasswd, на выбор с bcrypt (самый надёжный, формат $2y$), APR1 (переносимый MD5 от Apache, формат $apr1$) или SHA-1 (формат SHA). Он также формирует соответствующий заголовок Authorization: Basic, чтобы вы могли протестировать те же учётные данные с помощью curl или REST-клиента. Фактор стоимости bcrypt настраивается в параметрах для более надёжного или более быстрого хеширования.

Как пользоваться Генератор htpasswd

  1. Введите имя пользователя, под которым будет выполняться вход.
  2. Введите пароль для защиты учётной записи; он остаётся в этом поле и никуда не отправляется.
  3. Сразу скопируйте заголовок Basic Authorization, если он нужен только для API-запроса или теста curl.
  4. Откройте параметры, чтобы выбрать алгоритм хеширования (bcrypt, APR1 или SHA-1), а для bcrypt — фактор стоимости.
  5. Нажмите «Сгенерировать», чтобы вычислить хешированную строку .htpasswd, затем скопируйте её в файл .htpasswd вашего сервера.

Примеры

Строка bcrypt для одного пользователя

Ввод

пользователь: admin, пароль: s3cret, алгоритм: bcrypt (стоимость 10)

Вывод

admin:$2y$10$... (хеш bcrypt длиной 60 символов, каждый раз случайная соль)

Заголовок HTTP Basic для теста API

Ввод

пользователь: admin, пароль: s3cret

Вывод

Basic YWRtaW46czNjcmV0

Строка APR1 (Apache MD5) для устаревших конфигураций

Ввод

пользователь: web, пароль: pass123, алгоритм: APR1

Вывод

web:$apr1$<соль>$<хеш из 22 символов>

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

Отправляется ли мой пароль на сервер?
Нет. И заголовок Basic, и хеш .htpasswd вычисляются полностью в вашем браузере с помощью Web Crypto API и встроенного в браузер хешера WebAssembly. Ничего не загружается и не хранится на сервере, поэтому инструмент работает офлайн, а ваш пароль никогда не покидает страницу.
Какой хеш выбрать?
Для новых настроек используйте bcrypt; он наиболее устойчив к взлому и поддерживается современными Apache и nginx. APR1 ($apr1$) — это переносимый MD5 от Apache, полезный для устаревших конфигураций. SHA-1 ({SHA}) самый слабый, и его лучше избегать, если только система не требует его явно.
Почему кнопка «Сгенерировать» срабатывает не сразу?
bcrypt и APR1 намеренно медленны, чтобы противостоять перебору, а bcrypt при первом использовании также загружает небольшой модуль WebAssembly. Более высокий фактор стоимости делает bcrypt медленнее, но надёжнее. SHA-1 и заголовок Basic вычисляются мгновенно.
Соответствует ли это настоящей команде htpasswd?
Да. Строки bcrypt используют префикс $2y$, который ожидает Apache, APR1 использует стандартный формат $apr1$ со случайной солью, а SHA-1 — схему {SHA}, и все они совместимы с файлами, созданными htpasswd.
Можно ли использовать это для nginx?
Да. Директива auth_basic_user_file в nginx читает тот же формат .htpasswd, поэтому строка bcrypt или APR1 работает напрямую. nginx не поддерживает {SHA}, поэтому выбирайте для него bcrypt или APR1.

Похожие инструменты