Lösenordsgenerator
Generera starka slumpmässiga lösenord med val av teckenuppsättningar. Lösenordsgeneratorn visar entropi i bitar och körs helt i webbläsaren.
Alla beräkningar körs i webbläsaren. Ingenting du anger skickas till en server.
Resultat
—
—
Kopiera
Masslösenord
Lösenordsgeneratorn skapar slumpmässiga lösenord från de teckenuppsättningar du väljer och rapporterar styrkan i bitar av entropi i stället för en vag etikett. Längden går från 4 till 128 tecken, med valfria undantag för tvetydiga tecken och parenteser, samt ett passfrasläge som bygger minnesvärda flerordslösenord.
Varje lösenord genereras i webbläsaren med operativsystemets kryptografiska slumptalsgenerator. Ingenting skickas, loggas eller lagras.
Generera ett slumpmässigt lösenord
Ange en längd, välj vilka teckenuppsättningar som ska ingå, så returnerar generatorn ett lösenord direkt. Generera om hur många gånger som helst; varje tryck ger ett nytt urval från samma pool, och inget av dem sparas någonstans.
Sexton tecken från alla fyra uppsättningar är en rimlig standard för allt som skyddar pengar eller identitet. Tolv räcker där en tjänst begränsar inloggningsförsök. Under tolv är ett lösenord bara så säkert som webbplatsens egna försvar, och det kan du inte verifiera.
Längd väger tyngre än komplexitet. Att lägga till ett tecken i en pool på 94 tecken multiplicerar sökrymden med 94. Att byta en gemen bokstav mot en symbol i ett lösenord med fast längd gör betydligt mindre. Om en webbplats begränsar lösenordslängden till 16, använd alla 16.
Välj vilka teckenuppsättningar som ska ingå
Fyra uppsättningar finns tillgängliga, och varje aktiverad utvidgar poolen som varje tecken dras från.
| Set | Tecken | Antal | |
|---|---|---|---|
| Gemener | a-z | 26 | |
| Versaler | A-Z | 26 | |
| Siffror | 0-9 | 10 | |
| Symboler | `!"#$%&'()*+,-./:;<=>?@[\]^_{\ | }~`` | 32 |
Alla fyra tillsammans ger en pool på 94 tecken. Tre modifierare minskar den:
Uteslut tvetydiga tecken tar bort i I l 1 L |, o O 0 och citattecken samt skiljetecken som liknar varandra. Värt att använda för ett lösenord du läser av en skärm och skriver på en annan enhet, eller dikterar över telefon. Det kostar lite entropi och sparar verklig frustration.
Uteslut parenteser tar bort < > ( ) [ ] { }. Vissa äldre system hanterar dem fel i inloggningsformulär, och några skal miljöer behandlar dem särskilt när ett lösenord används i ett skript.
Inga upprepade tecken garanterar att varje tecken bara förekommer en gång. Det låter starkare men är något svagare: poolen krymper för varje placerat tecken, och längden begränsas till poolstorleken. Använd det bara när en policy kräver det.
Det finns också val mellan att dra varje tecken från den kombinerade poolen, eller garantera minst ett tecken från varje vald uppsättning. Det andra alternativet finns eftersom många företagslösenordspolicyer kräver det. Att tvinga ett av varje minskar entropin marginellt, eftersom vissa giltiga kombinationer utesluts.
Mät lösenordsstyrka i bitar av entropi
Entropi mäter hur många gissningar en angripare behöver, uttryckt som en potens av två. Det är det enda meningsfulla sättet att jämföra lösenord, eftersom en styrkemätare som säger "starkt" inte säger mot vad det är starkt.
Entropi (bitar) = längd × log₂(poolstorlek)
Kombinationer = poolstorlek ^ längd
Bitar är additiva och varje bit fördubblar arbetet. Ett 60-bitarslösenord tar dubbelt så lång tid att knäcka som ett 59-bitars, och 1 024 gånger så lång tid som ett 50-bitars. Därför ger små längdökningar stora säkerhetsvinster.
Ungefärliga trösklar, och varför varje spelar roll:
- Under 40 bitar: knäckbart på minuter av någon med ett konsument-GPU. Räcker inte för något som spelar roll.
- 50 till 60 bitar: står emot tillfälliga angrepp, faller mot ett målmedvetet offlineangrepp. Bra för ett forumkonto.
- 70 till 80 bitar: säkert mot realistiska offlineangrepp idag. Ett vettigt mål för de flesta konton.
- Över 100 bitar: bortom vad förutsägbar hårdvara kan brute-forca. Lämpligt för huvudlösenord i lösenordshanterare och krypteringsnycklar.
Beräkna entropin för ett 16-teckens lösenord
Ett 16-teckens lösenord från alla fyra uppsättningar bär ungefär 105 bitar entropi. Här är aritmetiken. 1. Addera poolen. 26 gemener + 26 versaler + 10 siffror + 32 symboler = 94 tecken 2. Bitar per tecken. log₂(94) = 6,55 bitar
3. Multiplicera med längden. 16 × 6,55 = 104,9 bitar
4. Uttryck som antal. 94¹⁶ ≈ 3,7 × 10³¹ möjliga lösenord
Korta till 12 tecken så sjunker entropin till 78,6 bitar, med 4,7 × 10²³ kombinationer. Fortfarande starkt, och ungefär 68 miljarder gånger lättare att angripa än 16-teckensversionen. Ta bort symboluppsättningen från 16-teckenslösenordet så faller poolen till 62, vilket ger 95,3 bitar, en mindre förlust än att korta med fyra tecken.
Den jämförelsen är värd att tänka på. Att ta bort fyra tecken kostar mer än att ta bort en hel teckenuppsättning. Längd är spaken.
Förstå hur lång tid det tar att knäcka ett lösenord
Varje enskild siffra för "tid att knäcka" är meningslös utan att angreppet anges. Samma lösenord faller på sekunder eller överlever solen beroende helt på hur angriparen gissar, så generatorn rapporterar två scenarier och namnger båda.
Förväntade gissningar = 2^(entropi − 1)
Tid = förväntade gissningar / gissningar per sekund
Onlineangrepp, ungefär 10³ gissningar per sekund. Angriparen skickar gissningar till ett liveinloggningsformulär. Hastighetsbegränsning, låsningar och nätverksfördröjning begränsar takten. De flesta riktiga angrepp mot ett konto ser ut så här, och nästan vilket genererat lösenord som helst överlever det på obestämd tid.
Offlineangrepp, ungefär 10¹² gissningar per sekund. Tjänsten har brustits och angriparen har lösenordshasharna. Med ett GPU-kluster och en snabb hash som osaltad MD5 eller SHA-1 går gissningar i trillioner per sekund eller mer. Det är scenariot som spelar roll, eftersom det är det du inte kan påverka.
Vid 10¹² gissningar per sekund tar ett 78-bitarslösenord ungefär 4 800 år och ett 105-bitarslösenord längre än universums ålder med många storleksordningar. Ett 40-bitarslösenord tar under en sekund.
En reservation som siffrorna döljer: dessa antaganden förutsätter att angriparen gissar blindt. Ett lösenord byggt av ord, datum eller tangentbordsmönster faller mycket snabbare än teckenantalet antyder, eftersom angripare gissar troliga kandidater först. Därför dras lösenorden här slumpmässigt i stället för att sättas ihop av något minnesvärt.
Använd en passfras i stället för en slumpsträng
En passfras är flera slumpmässiga ord sammanfogade. Den når liknande entropi som en slumpsträng men förblir möjlig att minnas och skriva, vilket passar de få lösenord du inte kan lagra i en hanterare.
Entropi = antal ord × log₂(ordlistans storlek)
Med en ordlista på 7 776 ord bidrar varje ord med log₂(7776) = 12,9 bitar.
| Ord | Entropi | Jämförbart med |
|---|---|---|
| 4 | 51,7 bitar | Ett 8-teckens slumpmässigt lösenord |
| 5 | 64,6 bitar | Ett 10-teckens slumpmässigt lösenord |
| 6 | 77,5 bitar | Ett 12-teckens slumpmässigt lösenord |
| 7 | 90,4 bitar | Ett 14-teckens slumpmässigt lösenord |
Sex ord ger 77,5 bitar, stabilt mot offlineangrepp, och något de flesta kan memorera efter några repetitioner. Jämför att skriva correct-horse-battery-staple-mountain-glass mot K7#mQ2vX@pL9. Båda är starka; bara ett kan återkallas och skrivas på en TV-fjärrkontroll.
Två regler gör en passfras säker. Orden måste väljas slumpmässigt av en maskin, inte av dig; mänskligt ordval klustrar kring vanligt ord och tematiska associationer. Och de får inte bilda en fras som finns någonstans, eftersom en citerad sångtext har nästan ingen entropi oavsett antal ord.
Använd passfras för huvudlösenordet i lösenordshanteraren, enhetsinloggningen och e-postkontot. Använd slumpsträngar, lagrade i hanteraren, för allt annat.
Förstå varför generatorn använder crypto.getRandomValues
Lösenordsgeneratorn drar varje tecken från crypto.getRandomValues(), webbläsarens kryptografiska slumptalsgenerator, som seedas av operativsystemets entropipool. Den använder inte Math.random(), och den skillnaden är skillnaden mellan ett lösenord och skenet av ett.
Math.random() är en snabb pseudoslumpgenerator för simuleringar och spel. Dess interna tillstånd är litet, webbläsare dokumenterar den som olämplig för säkerhet, och utdata är förutsägbar för den som observerar tillräckligt mycket eller känner implementationen och ungefär när ett värde genererades. En lösenordsgenerator byggd på Math.random() producerar lösenord som kan rekonstrueras i stället för gissas, och teckenantalet ger inget skydd alls mot det.
Det finns ett andra, subtilare krav. Att mappa slumpbytes till en teckenuppsättning med en enkel restoperation introducerar bias: 2³² delas inte jämnt med 94, så de tidigaste tecknen i uppsättningen dyker upp något oftare. Skevheten är osynlig i ett enskilt lösenord men mätbar över tillräckligt många, och sänker den verkliga entropin under den beräknade. Generatorn använder rejection sampling: ett värde i den ojämna svansen kasseras och dras om, så fördelningen blir genuint uniform.
Ingen seed visas för lösenord, och det är avsiktligt. Andra slumpgeneratorer på webbplatsen visar sin seed så ett resultat kan reproduceras och verifieras. Ett reproducerbart lösenord är ett komprometterat lösenord, så ingen seed lagras, visas eller kan härledas här.
Allt sker i webbläsaren. Inget lösenord skickas till en server, skrivs till lagring eller ingår i någon analytikhändelse.
Förvara lösenord säkert
Ett genererat lösenord hjälper bara om det används en gång och lagras någonstans du kan hämta det. Återanvändning är felet som upphäver allt annat: när en tjänst brusts provar angripare de återvunna uppgifterna överallt, och ett 105-bitarslösenord återanvänt på tio webbplatser skyddar inget av dem när den svagaste faller.
Fyra praxis, i ordning efter betydelse:
Använd en lösenordshanterare. Den tar bort behovet att minnas eller skriva om, vilket tar bort incitamentet att återanvända eller förenkla. Skydda den med en lång passfras, och behåll en offlinekopia av passfrasen och återställningsnyckeln någonstans fysiskt säkert.
Aktivera tvåfaktorsautentisering där det erbjuds, och föredra en autentiseringsapp eller hårdvarunyckel framför SMS. SMS-koder kan avlyssnas via SIM-byte. En andra faktor håller kontot säkert även när lösenordet är känt.
Byt lösenord när det finns skäl. Schemalagd rotation var nittionde dag rekommenderas inte längre av NIST, eftersom det driver människor mot förutsägbara variationer. Byt omedelbart vid tecken på intrång, vid misstanke och för lösenord du vet att du återanvänt.
Kontrollera adresser mot kända intrång. Tjänster som låter dig söka din e-post mot offentliga intrångsdata visar vilka konton som behöver uppmärksamhet nu, vilket är mer användbart än att byta allt enligt schema.
Vanliga frågor
Hur långt bör ett lösenord vara?
Sexton tecken är en bra standard för konton som skyddar pengar, identitet eller kommunikation, vilket ger ungefär 105 bitar entropi från en full teckenuppsättning. Tolv tecken, vid ungefär 79 bitar, räcker för konton med lägre värde. Där en webbplats tillåter mer, använd mer; varje extra tecken multiplicerar sökrymden med poolstorleken.
Vad gör ett lösenord starkt?
Slumpmässighet och längd, i den ordningen. Ett starkt lösenord dras oförutsägbart från en stor teckenpool och är tillräckligt långt för att det totala antalet möjligheter är opraktiskt att söka. Substitutioner som p@ssw0rd tillför nästan inget, eftersom angripare gissar de mönstren först. Entropi i bitar mäter verklig styrka; en etikett "starkt" gör det inte.
Är lösenorden som genereras här säkra att använda?
Ja. Varje lösenord genereras i webbläsaren av crypto.getRandomValues(), operativsystemets kryptografiska slumptalsgenerator, med rejection sampling så teckenfördelningen blir uniform. Inget lösenord skickas, loggas eller lagras, och inget tredjepartsskript med åtkomst till sidan körs här.
Skickas mitt lösenord någonstans?
Nej. Generering sker helt i webbläsaren och inget genererat värde lämnar den. Ingenting skrivs till webbläsarlagring, ingår i en delningslänk eller förs med i en analytikhändelse. Att stänga fliken kasserar lösenordet permanent, så kopiera det till lösenordshanteraren innan du lämnar.
Vad betyder entropi i bitar?
Entropi i bitar uttrycker hur många gissningar en angripare behöver, som en potens av två. Ett 60-bitarslösenord kräver ungefär 2⁵⁹ förväntade gissningar. Varje extra bit fördubblar svårigheten, vilket är varför siffran växer snabbt med längden: 16 tecken från en 94-teckenspool ger 104,9 bitar, eller ungefär 3,7 × 10³¹ möjligheter.
Ska jag inkludera symboler i mitt lösenord?
Inkludera dem där webbplatsen accepterar dem, men välj inte symboler framför längd. Att lägga till symboluppsättningen på 32 tecken till ett 16-teckenslösenord höjer entropin från 95,3 till 104,9 bitar. Att lägga till fyra tecken till ett symbolfritt lösenord höjer den från 95,3 till 119,1. Längd är den starkare spaken.
Vad är en passfras och är den lika stark som ett slumpmässigt lösenord?
En passfras är flera slumpmässigt valda ord sammanfogade. Sex ord från en ordlista på 7 776 ord ger 77,5 bitar, jämförbart med ett 12-teckens slumpmässigt lösenord, och är mycket lättare att minnas och skriva. Den måste vara maskinvald och får inte bilda en befintlig fras, eftersom ett igenkännbart citat bär nästan ingen entropi.
Kan jag återanvända ett starkt lösenord på flera konton?
Nej. Återanvändning är den enskilt mest skadliga lösenordsvanan, och lösenordsstyrka skyddar inte mot den. När en tjänst brusts provar angripare de återvunna uppgifterna på varje större webbplats. Varje konto behöver sitt eget unika lösenord, vilket är problemet en lösenordshanterare finns för att lösa.
Hur ofta ska jag byta lösenord?
Byt när det finns skäl: ett känt eller misstänkt intrång, ett delat eller återanvänt lösenord, eller en enhet du inte längre kontrollerar. NIST drog tillbaka sin vägledning om schemalagd rotation eftersom tvingade regelbundna byten driver människor mot förutsägbara variationer som att lägga till en siffra, vilket försvagar säkerheten i stället för att förbättra den.
Vad är modulobias och varför spelar det roll?
Modulobias är skevheten när slumpbytes mappas till en teckenuppsättning med en enkel rest, eftersom byteintervallet sällan delas jämnt med uppsättningens storlek. Vissa tecken dyker då upp något oftare, vilket sänker verklig entropi under den beräknade. Generatorn kasserar och drar om värden i den ojämna svansen så fördelningen blir genuint uniform.
Sammanfattning
Lösenordsgeneratorn drar lösenord från en pool på upp till 94 tecken med webbläsarens kryptografiska slumptalsgenerator, med rejection sampling för uniform teckenfördelning, och rapporterar styrka som entropi i bitar i stället för som etikett.
Längd är den starkaste faktorn: ett 16-teckenslösenord från hela uppsättningen bär ungefär 105 bitar, och att korta med fyra tecken kostar mer entropi än att ta bort hela symboluppsättningen. Knäcktidstal ges för både onlineangrepp vid 10³ gissningar per sekund och offlineangrepp vid 10¹², eftersom en enskild siffra utan kontext är meningslös. Passfrasläge når jämförbar styrka men förblir minnesvärt, vilket passar de få lösenord som inte kan ligga i en hanterare. Varje lösenord genereras lokalt och inget skickas, loggas eller lagras.