Генератор htpasswd

Введите имя пользователя и пароль и скопируйте готовую строку для файла .htpasswd — файла паролей, который Apache и Nginx используют для базовой HTTP-авторизации. Хеш считается в браузере с новой случайной солью, так что пароль остаётся на вашем устройстве.

Хеш

Введите пароль, чтобы получить строку.

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

Работает в браузере: всё, что вы вводите, никуда не отправляется.

Как пользоваться

  1. Введите имя пользователя и пароль.
  2. Оставьте bcrypt, если сервер не старый, и выберите стоимость.
  3. Скопируйте строку и добавьте её в файл .htpasswd. Для нескольких пользователей создайте по строке на каждого.

Как это работает

  • bcrypt выполняет функцию bcrypt на основе Blowfish 2^cost раз со случайной солью длиной 16 байт и записывает $2y$, стоимость, соль и хеш. Расчёт идёт в фоновом потоке (worker), поэтому страница не подвисает.
  • APR1-MD5 — вариант алгоритма md5crypt от Apache: 1000 раундов MD5 над паролем и солью из 8 символов, запись вида $apr1$salt$hash.
  • SHA-1 — это {SHA}, за которым идёт SHA-1 пароля в Base64, без соли.

Пример

Для пользователя admin bcrypt со стоимостью 10 даёт строку вида admin:$2y$10$ и ещё 53 символа соли и хеша. APR1 даёт admin:$apr1$, затем соль, $ и 22 символа. SHA-1 для пароля password всегда одинаковый: admin:{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=.

Советы

  • Держите файл вне корня сайта или запретите к нему доступ, чтобы никто не скачал хеши.
  • Имя файла для сервера не важно — важен только путь в конфигурации.
  • Чтобы удалить пользователя, удалите его строку.

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

Какой хеш выбрать?

bcrypt. Он намеренно медленный и с солью, поэтому подбирать пароли по украденному файлу дорого. Apache поддерживает его с версии 2.4, а Nginx принимает там, где системная функция crypt() умеет bcrypt, — так в большинстве современных дистрибутивов Linux. APR1-MD5 подойдёт для старых конфигураций, SHA-1 — только на крайний случай.

Как использовать строку?

Добавьте её в файл .htpasswd, по одному пользователю на строку, и держите файл вне публичной папки сайта. В Apache укажите файл в AuthUserFile вместе с AuthType Basic и Require valid-user; в Nginx используйте auth_basic и auth_basic_user_file. Открывайте сайт по HTTPS: при базовой авторизации пароль передаётся с каждым запросом.

Почему хеш каждый раз разный?

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

Какую стоимость (cost) задать для bcrypt?

Каждая ступень удваивает объём работы. Команда htpasswd по умолчанию использует 5, этот инструмент начинает с 10 — для одного входа это всё ещё быстро. Очень большие значения замедляют каждый запрос с проверкой пароля, ведь базовая авторизация проверяется при каждом запросе.

Это то же самое, что команда htpasswd?

Строки имеют те же форматы, что htpasswd -B (bcrypt с префиксом $2y$), htpasswd -m (APR1, $apr1$) и htpasswd -s ({SHA}), так что сервер читает их одинаково.

Ещё в разделе «Разработчикам»

Все инструменты раздела: Разработчикам ·Обновлено 4 ноября 2026 г.

Настройки конфиденциальности

Google Analytics показывает нам, какими инструментами пользуются и работают ли они. Он может ставить cookie. Ваш выбор сохраняется в этом браузере.