Véletlen karakterlánc generátor
Véletlenszerű karakterláncok generálása jelszavakhoz, tokenekhez és azonosítókhoz, teljesen a böngésződben.
Kapcsolódó eszközök
Az eszközről
A véletlen karakterlánc generátor olyan karaktersorozatokat állít elő, amelyeket jelszóként, API kulcsként, munkamenet-tokenként vagy egyszeri azonosítóként használhatsz — bárhol, ahol kiszámíthatatlan, nehezen kitalálható értékre van szükséged. Ennek a kiszámíthatatlanságnak a minősége teljes mértékben a mögötte álló véletlenforrástól függ: egy gyenge vagy kiszámítható véletlenszám-forrásra épülő generátor véletlennek tűnő, de valójában nem az karakterláncokat is generálhat, ami biztonsági szempontból kiüresíti az egész eszköz célját.
Ez az eszköz a véletlenséget a `crypto.getRandomValues`-ból, a Web Crypto API kriptográfiailag biztonságos véletlenszám-generátorából meríti, és elutasításos mintavételt (rejection sampling) alkalmaz a véletlen bájtok karakterekre való leképezésekor. Ez a második részlet fontosabb, mint amilyennek hangzik: egy naiv implementáció, amely `randomByte % charsetLength` módon számol, finom torzítást visz be a karakterkészlet eleje felé, ami kissé gyengíti a kimenetet. Az elutasításos mintavétel a tartományon kívüli bájtokat eldobja, ahelyett hogy modulóval csökkentené a karakterkészlet méretére, így a választott karakterkészlet minden karaktere pontosan egyformán valószínű marad.
Minden helyben, a böngésződben fut — a véletlen bájtok soha nem hagyják el az eszközödet, és a generált karakterláncok soha nem kerülnek elküldésre, naplózásra vagy tárolásra sehol. Ez különösen fontos tulajdonság egy jelszó- vagy token-generátor esetében: egy olyan eszköz, amely a szervere oldalán generálja a titkaidat, elvben láthatja is azokat. Mivel ez teljesen kliensoldali, a generátor internetkapcsolat nélkül is tovább működik az oldal betöltése után.
A karakterösszetételt négy független kapcsolóval szabályozod — nagybetűk, kisbetűk, számok és szimbólumok —, így igazodhatsz ahhoz, amit egy célrendszer megkövetel vagy megtilt (néhány régebbi rendszer például elutasít bizonyos szimbólumokat). A hossz akár 256 karakterig állítható, és egyszerre akár 100 karakterláncot is generálhatsz egy kötegben, ami hasznos teszt fiókok feltöltéséhez, egy API-kulcs-köteg legyártásához, vagy egyszer használatos kódok előállításához.
Ökölszabályként jelszavaknál: minél hosszabb és változatosabb, annál erősebb. Egy legalább 16 karakteres, mind a négy karaktertípust felhasználó karakterlánc ésszerű alapértelmezés a legtöbb szolgáltatáshoz; magasabb értékű hozzáférés védelméhez érdemes még hosszabbat választani. Generálás után másold ki közvetlenül a listát, vagy használd a "Küldés" gombot, hogy egy adott értéket átadj az eszköztár egy másik eszközének — például a hosszának ellenőrzéséhez vagy a hash-eléséhez.
Gyakran ismételt kérdések
Elég biztonságos ez a véletlen karakterlánc generátor jelszavakhoz? expand_more
Igen. A Web Crypto API kriptográfiailag biztonságos véletlenszám-generátorát használja, torzításmentes elutasításos mintavétellel, ami ugyanabba a kategóriába tartozó véletlenforrás, mint amit jelszókezelők és biztonsági szoftverek is használnak.
Hova kerülnek a generált karakterláncok? expand_more
Sehova. Minden a böngésződben generálódik és marad — semmi nem kerül szerverre, naplózásra vagy tárolásra, és az eszköz offline is működik betöltés után.
Milyen hosszt érdemes választani egy erős jelszóhoz? expand_more
Legalább 16 karakter, nagybetűk, kisbetűk, számok és szimbólumok felhasználásával, ésszerű alapértelmezés a legtöbb fiókhoz. Különösen érzékeny hozzáférés védelméhez érdemes még hosszabbat választani.
Miért nem elég erre a `Math.random()`? expand_more
A `Math.random()` nem kriptográfiailag biztonságos — kimenete elvben megjósolható, ami alkalmatlanná teszi jelszavakhoz, tokenekhez vagy bármi biztonsággal kapcsolatos célra. Ez az eszköz ehelyett a `crypto.getRandomValues`-t használja, amelyet pontosan erre a célra terveztek.
Generálhatok több karakterláncot egyszerre? expand_more
Igen, kötegenként akár 100-at, mind ugyanazzal a hossz- és karakterkészlet-beállítással — hasznos teszt adatok feltöltéséhez vagy egy tokenköteg egy lépésben történő legenerálásához.