Wachtwoordgenerator

Een willekeurig wachtwoord, gemaakt in je browser en nooit ergens naartoe gestuurd, met de entropie in bits in plaats van op het oog geschat.

Draait volledig in je browser. Er wordt niets geüpload, gelogd of opgeslagen.

Tekens om uit te kiezen
Entropie, in bits
—
Tekens om uit te kiezen
—
Mogelijke wachtwoorden
—
Het gebruikte alfabet
—

Een willekeurig wachtwoord, gemaakt door je eigen browser en nooit ergens naartoe gestuurd. De sterkte wordt gegeven als entropie in bits, wat een meting is en geen mening, en de pagina legt uit wat het getal betekent.

Hoe het werkt

Elk teken wordt onafhankelijk en uniform getrokken uit het alfabet dat je hebt gekozen, met de cryptografische randomgenerator van je browser. Niets van het wachtwoord is afgeleid van de tijd, van je computer of van iets anders dat een aanvaller zou kunnen raden.

De entropie is lengte × log2(grootte van het alfabet). Dat is een definitie, geen schatting: het is de logaritme met grondtal twee van het aantal wachtwoorden dat uit jouw keuzes had kunnen komen. Elke extra bit verdubbelt dat aantal.

Dat geldt alleen voor een willekeurig getrokken wachtwoord, en dat is wat deze pagina maakt en wat een mens niet doet als hij er zelf een kiest. Een wachtwoord dat je zelf hebt bedacht, heeft veel minder entropie dan de lengte doet vermoeden, omdat de manier waarop mensen wachtwoorden bedenken voorspelbaar is.

Veelgestelde vragen

Wordt het wachtwoord naar jullie server gestuurd?

Nee, en het ontwerp gaat verder dan een belofte. De servercode van deze site kan bewust geen wachtwoord genereren: voor deze tool rekent ze alleen de rekenkunde uit — het alfabet, de grootte ervan, de entropie — en geen enkel wachtwoord. De enige plek waar er een ontstaat, is de browser die het gaat gebruiken.

Waarom is er geen sterktemeter?

Omdat die verzonnen zou zijn. Hoe lang een wachtwoord standhoudt, hangt af van de hardware van de aanvaller, van zijn budget, van welk hash-algoritme de site koos en van hoeveel er uit de database is gelekt. Deze pagina weet geen van die dingen, dus “het kraken zou 3 miljoen jaar duren” zou een getal zijn met niets erachter. Entropie in bits is iets wat je naar waarheid kunt zeggen.

En hoeveel bits heb ik nodig?

Meer dan je kunt onthouden, en dat is het eerlijke antwoord: gebruik een wachtwoordmanager en de lengte die deze pagina aanbiedt. Ter indicatie: elke bit verdubbelt het aantal mogelijkheden, dus 60 bits is een miljoen keer moeilijker dan 40. Wat echt genoeg is, hangt af van wat het wachtwoord beschermt en van hoe de site het opslaat, en geen van beide is van hieruit te zien.

Waarom daalt het getal als ik de gelijkende tekens weglaat?

Omdat het een echte afweging is en geen gratis verbetering. Il1O0oB8S5Z2 weglaten maakt het wachtwoord makkelijker te lezen op een scherm en verkleint het alfabet waaruit het getrokken is, dus de entropie daalt. Het getal verandert zodra je het vakje aanvinkt, en daarvoor wordt het getoond.

Is de willekeur goed genoeg?

De tool gebruikt crypto.getRandomValues, de cryptografische generator van de browser, en niet Math.random, dat daar niet voor gemaakt is en voorspelbaar is op basis van zijn eigen uitvoer. Als je browser die generator niet heeft, zegt de tool dat en weigert hij, in plaats van terug te vallen op iets zwakkers.

Goed om te weten

  • Hier wordt niets opgeslagen, gelogd of verstuurd. Er is geen deellink, omdat een wachtwoord in een URL een wachtwoord is in een browsergeschiedenis en in alles waarin de link wordt geplakt.
  • Het alfabet staat naast de cijfers, zodat je precies kunt zien welke tekens beschikbaar waren in plaats van op de telling te vertrouwen.
  • De symbolen zijn de ASCII-leestekens, min de spatie, die te veel formulieren wegknippen. Verder wordt er niets stilletjes weggelaten, omdat een alfabet waaraan tekens ontbreken het wachtwoord zwakker maakt dan het getal ernaast beweert.

Bronnen

Alle tools in Code