Генератор 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.

Схожі інструменти