Генератор htpasswd
Создаёт строку .htpasswd для Apache (пользователь:хеш) для HTTP Basic Auth с использованием MD5 $apr1$ от Apache, {SHA} SHA-1 или традиционного crypt. Хеш вычисляется в вашем браузере — пароль никуда не отправляется.
Ввод
Без двоеточий и пробелов — двоеточие разделяет два поля в файле.
Настройки
bcrypt (htpasswd -B) — современный и самый надёжный вариант, работает на Apache 2.4+. APR1 — переносимый вариант для старых серверов или серверов не на Apache. SHA-1 и crypt предназначены только для устаревших систем — оба небезопасны.
Вывод
Вставьте это в файл .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, и он сверяет введённые пароли с этими хешами. Сам пароль нигде не хранится.
Как пользоваться
- Введите имя пользователя и пароль.
- Выберите алгоритм хеширования (APR1, если у вас нет причин выбрать другой).
- Нажмите Создать 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 используют соль: в каждый хеш добавляется новая случайная соль, поэтому один и тот же пароль даёт каждый раз другую строку. Так и должно быть — это мешает злоумышленнику, укравшему файл, понять, что два пользователя используют один пароль. Любая из созданных строк аутентифицирует один и тот же пароль.