htpasswd-generator

Bouw een .htpasswd-regel voor Apache of nginx en een HTTP Basic-autorisatieheader op basis van een gebruikersnaam en wachtwoord, met bcrypt-, APR1- of SHA-1-hashing, volledig in je browser.

Tool laden…

htpasswd-generatorTyp een gebruikersnaam en wachtwoord om twee dingen tegelijk te krijgen: een kant-en-klare .htpasswd-regel om te plakken voor de basisauthenticatie van Apache of nginx, en de bijbehorende HTTP Basic-autorisatieheader die je client zou versturen. De header is de base64 van user:pass en wordt direct bijgewerkt, terwijl de gehashte .htpasswd-regel wordt berekend wanneer je op Genereren drukt. Alles draait lokaal met de Web Crypto API en een WebAssembly-hasher in de browser, zodat je wachtwoord nooit naar een server wordt geüpload.

Wat is htpasswd-generator?

De htpasswd-generator is een gratis browsertool om inloggegevens te maken voor HTTP Basic-authenticatie. Systeembeheerders en webontwikkelaars gebruiken hem om een map of beheerpaneel met een gebruikersnaam en wachtwoord te beveiligen, zonder het opdrachtregelhulpprogramma htpasswd van Apache te installeren. Het levert één regel user:hash op die je aan een .htpasswd-bestand toevoegt, met keuze uit bcrypt (het sterkst, $2y$-formaat), APR1 (Apache's draagbare MD5, $apr1$-formaat) of SHA-1 (SHA-formaat). Het leidt ook de bijbehorende Authorization: Basic-header af, zodat je dezelfde inloggegevens kunt testen met curl of een REST-client. De bcrypt-kostenfactor is in te stellen bij Instellingen voor sterker of sneller hashen.

htpasswd-generator gebruiken

  1. Voer de gebruikersnaam in die zal inloggen.
  2. Typ het wachtwoord dat het account beschermt; het blijft in dit veld en wordt nergens naartoe gestuurd.
  3. Kopieer de Basic-autorisatieheader meteen als je hem alleen nodig hebt voor een API-verzoek of een curl-test.
  4. Open Instellingen om het hash-algoritme te kiezen (bcrypt, APR1 of SHA-1) en, voor bcrypt, de kostenfactor.
  5. Druk op Genereren om de gehashte .htpasswd-regel te berekenen en kopieer hem vervolgens naar het .htpasswd-bestand van je server.

Voorbeelden

bcrypt-regel voor één gebruiker

Invoer

gebruiker: admin, wachtwoord: s3cret, algoritme: bcrypt (kosten 10)

Uitvoer

admin:$2y$10$... (een bcrypt-hash van 60 tekens, elke keer een willekeurige salt)

HTTP Basic-header voor een API-test

Invoer

gebruiker: admin, wachtwoord: s3cret

Uitvoer

Basic YWRtaW46czNjcmV0

APR1-regel (Apache MD5) voor oude configuraties

Invoer

gebruiker: web, wachtwoord: pass123, algoritme: APR1

Uitvoer

web:$apr1$<salt>$<hash van 22 tekens>

Veelgestelde vragen

Wordt mijn wachtwoord naar een server gestuurd?
Nee. Zowel de Basic-header als de .htpasswd-hash worden volledig in je browser berekend met de Web Crypto API en een WebAssembly-hasher in de browser. Er wordt niets geüpload of op een server opgeslagen, dus de tool werkt offline en je wachtwoord verlaat de pagina nooit.
Welke hash moet ik kiezen?
Gebruik bcrypt voor nieuwe opstellingen; het is het bestand tegen kraken en wordt ondersteund door moderne Apache en nginx. APR1 ($apr1$) is Apache's draagbare MD5, handig voor oude configuraties. SHA-1 ({SHA}) is het zwakst en kun je beter vermijden, tenzij een systeem het specifiek vereist.
Waarom duurt de knop Genereren even?
bcrypt en APR1 zijn opzettelijk traag om brute-force-aanvallen te weerstaan, en bcrypt laadt bij het eerste gebruik ook een klein WebAssembly-module. Een hogere kostenfactor maakt bcrypt trager maar sterker. SHA-1 en de Basic-header zijn direct.
Komt het overeen met het echte htpasswd-commando?
Ja. bcrypt-regels gebruiken het $2y$-voorvoegsel dat Apache verwacht, APR1 gebruikt het standaardformaat $apr1$ met een willekeurige salt en SHA-1 gebruikt het {SHA}-schema, allemaal compatibel met door htpasswd gegenereerde bestanden.
Kan ik dit voor nginx gebruiken?
Ja. De auth_basic_user_file van nginx leest hetzelfde .htpasswd-formaat, dus een bcrypt- of APR1-regel werkt direct. nginx ondersteunt {SHA} niet, kies daarvoor dus bcrypt of APR1.

Gerelateerde tools