Generator htpasswd

Utwórz wiersz .htpasswd dla Apache lub nginx oraz nagłówek autoryzacji HTTP Basic na podstawie nazwy użytkownika i hasła, z haszowaniem bcrypt, APR1 lub SHA-1, w całości w przeglądarce.

Ładowanie narzędzia…

Generator htpasswdWpisz nazwę użytkownika i hasło, aby od razu uzyskać dwie rzeczy: gotowy do wklejenia wiersz .htpasswd dla uwierzytelniania basic w Apache lub nginx oraz odpowiadający mu nagłówek autoryzacji HTTP Basic, który wysłałby Twój klient. Nagłówek to base64 z user:pass i aktualizuje się natychmiast, a zahaszowany wiersz .htpasswd jest obliczany po naciśnięciu Generuj. Wszystko działa lokalnie dzięki Web Crypto API i hasherowi WebAssembly w przeglądarce, więc Twoje hasło nigdy nie jest przesyłane na żaden serwer.

Czym jest Generator htpasswd?

Generator htpasswd to darmowe narzędzie działające w przeglądarce do tworzenia poświadczeń używanych przez uwierzytelnianie HTTP Basic. Administratorzy systemów i programiści webowi używają go do zabezpieczania katalogu lub panelu administracyjnego nazwą użytkownika i hasłem bez instalowania narzędzia wiersza poleceń htpasswd z Apache. Tworzy pojedynczy wiersz user:hash, który dołączasz do pliku .htpasswd, z wyborem bcrypt (najsilniejszy, format $2y$), APR1 (przenośny MD5 firmy Apache, format $apr1$) lub SHA-1 (format SHA). Wyprowadza również odpowiadający nagłówek Authorization: Basic, dzięki czemu możesz przetestować te same poświadczenia za pomocą curl lub klienta REST. Współczynnik kosztu bcrypt można skonfigurować w Ustawieniach, aby uzyskać silniejsze lub szybsze haszowanie.

Jak używać Generator htpasswd

  1. Wprowadź nazwę użytkownika, który będzie się logować.
  2. Wpisz hasło, które ochroni konto; pozostaje ono w tym polu i nigdy nie jest nigdzie wysyłane.
  3. Skopiuj od razu nagłówek autoryzacji Basic, jeśli potrzebujesz go tylko do żądania API lub testu curl.
  4. Otwórz Ustawienia, aby wybrać algorytm haszowania (bcrypt, APR1 lub SHA-1), a dla bcrypt — współczynnik kosztu.
  5. Naciśnij Generuj, aby obliczyć zahaszowany wiersz .htpasswd, a następnie skopiuj go do pliku .htpasswd swojego serwera.

Przykłady

Wiersz bcrypt dla jednego użytkownika

Wejście

użytkownik: admin, hasło: s3cret, algorytm: bcrypt (koszt 10)

Wyjście

admin:$2y$10$... (60-znakowy hasz bcrypt, za każdym razem losowa sól)

Nagłówek HTTP Basic do testu API

Wejście

użytkownik: admin, hasło: s3cret

Wyjście

Basic YWRtaW46czNjcmV0

Wiersz APR1 (Apache MD5) dla starszych konfiguracji

Wejście

użytkownik: web, hasło: pass123, algorytm: APR1

Wyjście

web:$apr1$<sól>$<22-znakowy hasz>

Najczęściej zadawane pytania

Czy moje hasło jest wysyłane na serwer?
Nie. Zarówno nagłówek Basic, jak i hasz .htpasswd są obliczane w całości w Twojej przeglądarce za pomocą Web Crypto API i hashera WebAssembly w przeglądarce. Nic nie jest przesyłane ani przechowywane na żadnym serwerze, więc narzędzie działa offline, a Twoje hasło nigdy nie opuszcza strony.
Który hasz wybrać?
Do nowych konfiguracji używaj bcrypt; jest najbardziej odporny na złamanie i obsługiwany przez nowoczesne Apache i nginx. APR1 ($apr1$) to przenośny MD5 firmy Apache, przydatny w starszych konfiguracjach. SHA-1 ({SHA}) jest najsłabszy i najlepiej go unikać, chyba że jakiś system wyraźnie go wymaga.
Dlaczego przycisk Generuj chwilę trwa?
bcrypt i APR1 są celowo wolne, aby opierać się atakom siłowym, a bcrypt przy pierwszym użyciu ładuje dodatkowo niewielki moduł WebAssembly. Wyższy współczynnik kosztu sprawia, że bcrypt jest wolniejszy, ale silniejszy. SHA-1 i nagłówek Basic są natychmiastowe.
Czy odpowiada to prawdziwemu poleceniu htpasswd?
Tak. Wiersze bcrypt używają przedrostka $2y$ oczekiwanego przez Apache, APR1 używa standardowego formatu $apr1$ z losową solą, a SHA-1 używa schematu {SHA}, wszystkie zgodne z plikami generowanymi przez htpasswd.
Czy mogę użyć tego do nginx?
Tak. auth_basic_user_file w nginx odczytuje ten sam format .htpasswd, więc wiersz bcrypt lub APR1 działa bezpośrednio. nginx nie obsługuje {SHA}, więc wybierz dla niego bcrypt lub APR1.

Powiązane narzędzia