Генератор htpasswd онлайн
Генерируйте строку пользователя .htpasswd с bcrypt или SHA-1 из имени пользователя и пароля, прямо в вашем браузере. Учётные данные остаются на вашем устройстве.
Генератор htpasswd хеширует ваш пароль в вашем браузере — bcrypt в лениво загружаемом модуле и SHA-1 через Web Crypto API. Введённые имя пользователя и пароль никогда не покидают ваше устройство и никогда не загружаются в ArrayKit.
Открыть генератор Basic Auth
Об инструменте Генератор htpasswd
Генератор htpasswd превращает имя пользователя и пароль в одну строку .htpasswd для HTTP basic auth Apache или nginx. Выберите bcrypt, рекомендуемую схему с солью, которую Apache записывает как $2y$, или устаревшую схему {SHA} (SHA-1 без соли, Base64) для старых установок. Инструмент выдаёт готовую строку user:hash, которую можно скопировать или скачать и дописать в ваш файл .htpasswd, затем защитить каталог с помощью AuthType Basic или auth_basic_user_file nginx. Он подходит системным администраторам и разработчикам, закрывающим доступ к стенду, внутренней панели или каталогу за обратным прокси. Хеширование bcrypt выполняется со свежей случайной солью каждый раз, а SHA-1 использует Web Crypto API — всё в вашем браузере, так что введённый пароль никогда не покидает ваше устройство.
Возможности
- Генерация строки user:hash для файла .htpasswd из имени пользователя и пароля
- Схема bcrypt со случайной солью, выводимая с префиксом Apache $2y$
- Устаревшая схема {SHA} (Base64 SHA-1) для старых конфигураций Apache и nginx
- Скопируйте строку или скачайте её сразу в файл .htpasswd
- Отклоняет имена пользователей с двоеточием, пробелами или переносами строк, которые сломали бы файл
- Каждый запуск bcrypt даёт свежий хеш, так что одинаковые пароли никогда не совпадают
- Работает и для mod_auth_basic Apache, и для auth_basic_user_file nginx
- Хеширует пароль в вашем браузере, ничего не отправляется на сервер
Как использовать Генератор htpasswd
- Введите имя пользователя и пароль, которыми хотите защитить каталог
- Выберите bcrypt (рекомендуется) или устаревший алгоритм SHA-1 {SHA}
- Скопируйте сгенерированную строку user:hash или скачайте файл .htpasswd
- Допишите строку в .htpasswd вашего сервера и сошлитесь на неё из конфигурации авторизации
Пример
Ввод
username: admin
password: password
algorithm: SHA-1
Результат
admin:{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=
SHA-1 даёт {SHA} + Base64; bcrypt вместо этого выдал бы admin:$2y$...
Частые ошибки и устранение неполадок
- Apache логирует 'crypt not supported' или строка bcrypt отклоняется. — bcrypt в .htpasswd требует Apache 2.4 или новее с mod_authn_file. На старых серверах переключитесь на схему {SHA} или обновите Apache.
- Вся строка оказалась в одном ряду, и авторизация никогда не проходит. — Каждая запись .htpasswd должна быть своей строкой, оканчивающейся переводом строки. Скачивание файла добавляет перевод строки за вас; если вставляете, нажмите Enter после строки.
- Имя пользователя содержит двоеточие, и файл разбивает его неверно. — Apache разбивает каждую запись по первому двоеточию, поэтому двоеточие в имени пользователя ломает разбор. Уберите двоеточие — генератор блокирует его по этой причине.
- Скопировал хеш {SHA}, но вход всё равно не проходит. — Схема {SHA} это SHA-1 без соли, чувствительный к регистру пароля. Перепроверьте точный пароль и предпочитайте bcrypt для всего, что смотрит в интернет.
Часто задаваемые вопросы
- Какой алгоритм использовать для файла .htpasswd?
- Используйте bcrypt для всего, что достижимо по сети — он с солью и намеренно медленный, поэтому противостоит перебору. Схема SHA-1 {SHA} без соли, и её стоит использовать только для старых серверов, которые не могут запустить bcrypt.
- Почему хеш bcrypt начинается с $2y$, а не с $2a$?
- $2y$ это префикс, который записывает инструмент htpasswd Apache. Библиотеки bcrypt часто выдают $2a$ или $2b$, но алгоритм идентичен, поэтому этот генератор нормализует префикс в $2y$, чтобы соответствовать тому, что Apache создаёт на диске.
- Как добавить сгенерированную строку в мой файл .htpasswd?
- Скопируйте строку user:hash или скачайте файл .htpasswd и допишите строку как отдельный ряд. Затем направьте AuthUserFile (Apache) или auth_basic_user_file (nginx) на этот файл и перезагрузите сервер.
- Даёт ли один и тот же пароль одну и ту же строку htpasswd каждый раз?
- С bcrypt — нет: свежая случайная соль используется при каждом запуске, поэтому одинаковые пароли дают разные хеши, которые всё равно проверяются. Со схемой {SHA} хеш без соли, поэтому один и тот же пароль всегда даёт одну и ту же строку.
- Отправляется ли введённый мной пароль на сервер для хеширования?
- Нет. bcrypt работает в вашем браузере, а SHA-1 использует встроенный Web Crypto API, поэтому введённые имя пользователя и пароль хешируются на вашем устройстве и никогда не загружаются в ArrayKit.
Связанные инструменты
Все инструменты ArrayKit