Перейти к основному содержанию

Генератор htpasswd

API reference

Создаёт строку .htpasswd для Apache (пользователь:хеш) для HTTP Basic Auth с использованием MD5 $apr1$ от Apache, {SHA} SHA-1 или традиционного crypt. Хеш вычисляется в вашем браузере — пароль никуда не отправляется.

Ввод

Без двоеточий и пробелов — двоеточие разделяет два поля в файле.

Настройки

bcrypt (htpasswd -B) — современный и самый надёжный вариант, работает на Apache 2.4+. APR1 — переносимый вариант для старых серверов или серверов не на Apache. SHA-1 и crypt предназначены только для устаревших систем — оба небезопасны.

Вывод

Строка .htpasswd

Вставьте это в файл .htpasswd — по одному пользователю на строку.

Хеш без имени пользователя — для форматов конфигурации, где они хранятся отдельно.

Это было полезно?

Другие способы использовать этот инструмент

REST API

curl -X POST https://api.iotools.cloud/v1/tool/htpasswd-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "admin",
    "password": "correct horse battery staple",
    "algorithm": "bcrypt"
  }'

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

Спросите у ИИ-агента

Use the IOTools `htpasswd-generator` tool (htpasswd Generator) on this input:

YOUR_INPUT_HERE

Вставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.

Виджет для встраивания

<iframe
  src="https://iotools.cloud/embed/htpasswd-generator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Генератор htpasswd — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.

Стоимость вызова API/MCPОт 5 кредитов
Нужно больше кредитов?Посмотреть тарифы

Также доступно через

Руководства

Что такое файл .htpasswd?

.htpasswd — это простой файл, который Apache использует для хранения учётных данных HTTP Basic Authentication — окна входа, которое появляется до загрузки страницы. Каждая строка содержит одного пользователя: имя пользователя, двоеточие и хеш его пароля.

admin:$apr1$dQ2mR8sT$Gk1p6oq9WcE1n0eXqYd0J.

Вы указываете Apache путь к файлу с помощью AuthUserFile, и он сверяет введённые пароли с этими хешами. Сам пароль нигде не хранится.

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

  1. Введите имя пользователя и пароль.
  2. Выберите алгоритм хеширования (APR1, если у вас нет причин выбрать другой).
  3. Нажмите Создать htpasswd и скопируйте строку в файл .htpasswd — по одному пользователю на строку.

Соответствующий .htaccess выглядит так:

AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/to/.htpasswd
Require valid-user

Какой алгоритм выбрать?

  • bcrypt ($2y$) — современный стандарт и самый надёжный вариант, который поддерживает Apache. Он намеренно медленный и использует соль, что и нужно от хеша пароля: перебор и взлом на GPU становятся дорогими. Именно такой хеш создаёт htpasswd -B, он работает на Apache 2.4 и новее. Выбирайте его, если нет особой причины поступить иначе.
  • APR1 ($apr1$) — собственный MD5 Apache с солью и 1000 раундами. Это переносимый вариант: он работает на всех платформах, где запускается Apache, включая старые серверы Apache 2.2 и некоторое программное обеспечение, отличное от Apache, а также именно его создаёт htpasswd -m. Используйте его, когда bcrypt недоступен.
  • SHA-1 ({SHA}) — обычный дайджест SHA-1 без соли. Поскольку соли нет, два пользователя с одинаковым паролем получат одинаковый хеш, и такой хеш легко взламывается с помощью радужных таблиц. Формат существует для старых серверов, которые не понимают ничего другого.
  • crypt — традиционный DES Unix. Небезопасен, работает только в Unix и молча игнорирует всё после восьмого символа пароля. Используйте только в действительно древних системах.

Что важно знать именно о bcrypt?

Две вещи. Во-первых, bcrypt использует только первые 72 байта пароля — всё, что длиннее, игнорируется. Это свойство самого алгоритма, а не ограничение этого инструмента, и 72 байта гораздо больше, чем нужно для любого разумного пароля. Во-вторых, хеш записывается с префиксом $2y$ — той же меткой, которую использует htpasswd -B от Apache; варианты $2a$, $2b$ и $2y$ выбирают один и тот же алгоритм, поэтому результат проверяется везде, где принимается bcrypt (Apache, Nginx, password_verify в PHP и так далее).

Отправляется ли мой пароль куда-либо?

Нет. Каждый хеш вычисляется в вашем браузере, с помощью JavaScript. Пароль никогда не передаётся, не записывается в журнал и не сохраняется, а инструмент работает даже при отключённой сети. (Старая версия этого инструмента отправляла пароль на сервер для хеширования — этой версии это не нужно.)

Действительно ли хеши корректны?

Да, и это стоит проверить, а не просто доверять. Каждый хеш bcrypt подтверждён командой htpasswd -vbB от Apache — независимой реализацией, которая проверяет, что хеш аутентифицирует исходный пароль. Результат APR1 побайтно совпадает с openssl passwd -apr1 и htpasswd -m, а результат crypt совпадает с crypt(3) системы — как на фиксированных эталонных векторах, так и на случайно сгенерированных парах пароль/соль, включая пароли с не-ASCII символами, где наивная реализация молча расходится.

Почему хеш меняется при каждом нажатии «Создать»?

Потому что bcrypt, APR1 и crypt используют соль: в каждый хеш добавляется новая случайная соль, поэтому один и тот же пароль даёт каждый раз другую строку. Так и должно быть — это мешает злоумышленнику, укравшему файл, понять, что два пользователя используют один пароль. Любая из созданных строк аутентифицирует один и тот же пароль.

htpasswdapachebasic authpasswordapr1md5htaccess

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.