Twórz linie .htpasswd dla Apache/nginx z solonymi skrótami APR1-MD5 lub SHA-1, w pełni offline w Twojej przeglądarce.
— wynik pojawi się tutaj —
Bcrypt nie jest uwzględniony. APR1-MD5 jest solony i zalecany; SHA-1 jest niesolony, tylko dla starszych systemów.
O tym narzędziu
Wygeneruj gotową do wklejenia linię poświadczeń .htpasswd (nazwa_użytkownika:skrót) do uwierzytelniania HTTP Basic w Apache lub nginx. Nazwa użytkownika, hasło i haszowanie odbywają się lokalnie w Twojej przeglądarce — nic nie jest wysyłane i nie ma eval ani zewnętrznej biblioteki.
Obsługiwane są dwa algorytmy. APR1-MD5 (format Apache $apr1$) jest zaimplementowany w czystym JavaScript, wraz z samodzielnym MD5 i pełną, soloną pętlą crypt z 1000 rundami, z 8-znakową losową solą pobraną z crypto.getRandomValues. SHA-1 używa wbudowanego crypto.subtle.digest przeglądarki, zakodowanego w base64 i poprzedzonego {SHA}, zgodnie z wynikiem htpasswd -s. Bcrypt celowo nie został uwzględniony, ponieważ poprawny, szybki bcrypt w czystym JS jest niepraktyczny do uruchomienia po stronie klienta.
Wpisz nazwę użytkownika i hasło, wybierz algorytm i skopiuj powstałą linię do pliku .htpasswd. Użyj Nowa sól, aby ponownie wylosować sól APR1 (każde zapisanie daje inny skrót dla tego samego hasła, co jest oczekiwane i poprawne).
Najczęściej zadawane pytania
Czy moje hasło jest gdziekolwiek wysyłane?
Nie. Całe haszowanie odbywa się w całości w Twojej przeglądarce, przy użyciu wbudowanego MD5 dla APR1 i natywnego crypto.subtle dla SHA-1. Nic nie jest przesyłane i nie ma eval.
Który algorytm wybrać?
APR1-MD5 ($apr1$) to zalecany domyślny algorytm Apache i jest solony, więc jest bezpieczniejszym z tych dwóch. SHA-1 ({SHA}) jest niesolony i przydatny głównie w starszych konfiguracjach lub dla zgodności z nginx.
Dlaczego skrót APR1 zmienia się za każdym razem?
APR1 używa losowej 8-znakowej soli, więc to samo hasło za każdym razem daje inny skrót. Jest to zamierzone; Apache odczytuje sól z zapisanego skrótu podczas sprawdzania logowania.
Dlaczego bcrypt nie jest oferowany?
Bcrypt jest celowo wykluczony. Poprawny bcrypt w czystym JavaScript byłby duży i wolny w przeglądarce, więc to narzędzie zamiast tego oferuje niezawodne, działające offline tryby APR1-MD5 i SHA-1.