Wachtwoordgenerator

Genereer sterke, willekeurige wachtwoorden met aangepaste lengte en tekensets — met de cryptografische willekeur van uw browser.

1.316 weergaven

Hoe het werkt

Wachtwoordsterkte is niet optelbaar, maar exponentieel: het aantal mogelijke combinaties is gelijk aan de grootte van de tekenset tot de macht van de lengte (tekenset^lengte), en die exponent maakt lengte de grootste hefboom die beschikbaar is. Een wachtwoord van 8 tekens met alleen kleine letters put uit een set van 26 tekens, wat 26^8 oplevert — ruwweg 208 miljard mogelijke combinaties, wat veel klinkt totdat moderne hardware miljarden pogingen per seconde test. Voeg hoofdletters, cijfers en symbolen toe en verleng de lengte naar 12 tekens, dan groeit de set naar ongeveer 95 tekens, wat 95^12 oplevert — in de orde van 540 triljard triljard (5,4 × 10^23) combinaties. Dat is geen bescheiden verbetering; het is vele ordes van grootte groter, omdat elk extra teken het totaal vermenigvuldigt in plaats van optelt. Concreet voorbeeld: van een wachtwoord van 8 tekens met alleen kleine letters overstappen naar een wachtwoord van 12 tekens met alle vier tekentypen verdubbelt de veiligheid niet zomaar — het verplaatst de tijd die nodig is voor brute-force van "binnen redelijke tijd te kraken" naar "ver buiten bereik van elke realistische aanval, zelfs met toekomstige hardware."

Deze generator kiest elk teken met behulp van crypto.getRandomValues — de cryptografisch veilige willekeurige-getallengenerator van de browser — in plaats van Math.random(). Dat onderscheid is belangrijk: Math.random() is een snelle, voorspelbare pseudo-willekeurige generator bedoeld voor animaties en spelletjes, en de interne staat ervan kan in sommige gevallen worden gereconstrueerd uit waargenomen uitvoer, waardoor hij ongeschikt is voor alles wat met beveiliging te maken heeft. crypto.getRandomValues put uit de cryptografische entropiebron van het besturingssysteem, die specifiek is ontworpen om onvoorspelbaar te zijn, zelfs voor een aanvaller die eerdere uitvoer heeft gezien.

Wat u moet weten

Lengte wint het bijna altijd van complexiteit. Een wachtwoord van 16 tekens met alleen kleine letters (26^16) is wiskundig veel sterker dan een wachtwoord van 8 tekens met alle tekentypen gemengd (95^8), simpelweg omdat de exponent de basis domineert. Kies bij de keuze tussen een langer, eenvoudiger wachtwoord en een korter, complexer wachtwoord altijd voor het langere.

Het wachtwoord verlaat uw apparaat nooit: het wordt volledig in uw browser gegenereerd en niets wordt door dit hulpmiddel naar een server verzonden, gelogd of ergens opgeslagen. Het vernieuwen of sluiten van de pagina vernietigt het volledig — precies waarom het rechtstreeks naar een wachtwoordmanager moet worden gekopieerd in plaats van op het scherm of in een tekstbestand achter te blijven.

Eenzelfde wachtwoord op meerdere accounts hergebruiken maakt van één datalek er vele. Als de database van één site lekt — en dat overkomt zelfs zorgvuldige, goed beheerde diensten — wordt elk ander account dat dat wachtwoord deelt kwetsbaar zodra de gelekte wachtwoordlijst in omloop komt. Een uniek, gegenereerd wachtwoord per site, bewaard in een wachtwoordmanager, beperkt de schade van elk afzonderlijk lek tot dat ene account.

Veelgestelde vragen

Hoe lang moet mijn wachtwoord zijn?

Minimaal 12 tekens voor gewone accounts en 16 of meer voor kritieke accounts (e-mail, bankieren). Lengte verslaat complexiteit: een wachtwoord van 16 kleine letters is sterker dan een wachtwoord van 8 tekens met symbolen.

Wordt het gegenereerde wachtwoord naar een server gestuurd?

Nee. Het wordt volledig op uw apparaat gegenereerd door de crypto.getRandomValues-API van uw browser en verlaat het nooit. Het vernieuwen van de pagina vernietigt het.

Mag ik hetzelfde wachtwoord op meerdere sites gebruiken?

Nooit. Een datalek bij één site zou al uw accounts blootleggen. Genereer per site een uniek wachtwoord en bewaar ze in een wachtwoordmanager.

Waarom helpt één teken extra meer dan één symbool extra?

Omdat lengte een exponent is en tekenvariatie slechts de basis. Eén teken aan de lengte toevoegen vermenigvuldigt het totale aantal combinaties met de volledige tekensetgrootte; nog een symbooltype toevoegen vergroot de basis slechts met een paar eenheden. Bij elke realistische wachtwoordlengte wint de lengtetoename met ruime marge.

Is Math.random() niet al willekeurig genoeg?

Voor spelletjes of animaties wel — maar het is een snelle pseudo-willekeurige generator, geen cryptografische, en de uitvoer ervan kan in sommige omstandigheden worden voorspeld of gereconstrueerd. Wachtwoordgeneratie heeft crypto.getRandomValues nodig, de cryptografisch veilige bron van de browser, die dit hulpmiddel exclusief gebruikt.

Reacties

Nog geen reacties — schrijf de eerste!

Vergelijkbare tools