ഈ പാസ്വേഡ് ജനറേറ്ററിനെ വ്യത്യസ്തമാക്കുന്നത് എന്ത്?
ഇത് ഒരു privacy-first, browser-only പാസ്വേഡ് ജനറേറ്ററാണ്. എല്ലാ റാൻഡം ബൈറ്റുകളും നിങ്ങളുടെ OS-ന്റെ ക്രിപ്റ്റോഗ്രാഫിക് റാൻഡം നമ്പർ ജനറേറ്ററിൽ നിന്ന് crypto.getRandomValues വഴി — Math.random ഒരിക്കലും ഇല്ല. ഒരു പാസ്വേഡ് ജനറേറ്റ് ചെയ്യാൻ പേജ് ഒരു നെറ്റ്വർക്ക് അഭ്യർത്ഥനയും നടത്തുന്നില്ല. DevTools-ൽ Network panel തുറന്ന് Generate ക്ലിക്ക് ചെയ്യൂ: അത് നിശബ്ദമായി ഇരിക്കുന്നു.
ഈ പാസ്വേഡ് ജനറേറ്റർ എങ്ങനെ പ്രവർത്തിക്കുന്നു?
ടൂൾ പൂർണ്ണമായും JavaScript-ൽ നിങ്ങളുടെ ബ്രൗസറിൽ പ്രവർത്തിക്കുന്നു. സർവ്വർ round-trip ഇല്ല, അനലിറ്റിക്സ് ബീക്കൺ ഇല്ല, പേജ് ലോഡ് ആയ ശേഷം remote font request ഇല്ല.
- OS CSPRNG-ൽ നിന്ന് സീഡ്. എല്ലാ റാൻഡം ഇന്റിജറുകളും
crypto.getRandomValues(new Uint32Array(n))ൽ നിന്ന് — ബ്രൗസർ TLS കീ മെറ്റീരിയൽ,crypto.randomUUIDഎന്നിവയ്ക്കായി ഉപയോഗിക്കുന്ന അതേ ക്രിപ്റ്റോഗ്രാഫിക്കലി-സുരക്ഷിത ഉറവിടം.Math.randomഇച്ഛാപൂർവ്വം ഒരിക്കലും ഉപയോഗിക്കുന്നില്ല. - Charset assembly. Random-character മോഡ് പ്രവർത്തനക്ഷമമായ ക്യാരക്ടർ ക്ലാസ്സുകൾ — uppercase, lowercase, digits, symbols — ഒരൊറ്റ ആൽഫബറ്റിലേക്ക് കൂട്ടിചേർക്കുന്നു. 'Exclude ambiguous' ടോഗിൾ ദൃശ്യ സദൃശ്യ ഗ്ലിഫ്സ് (
0,O,o,1,l,I,|, backtick) ഒഴിവാക്കുന്നു. - Unbiased index sampling. 32-ബിറ്റ് അൺസൈൻഡ് ഇന്റിജർ charset ഇൻഡക്സിലേക്ക് മോഡുലോ ഉപയോഗിച്ച് നേരിട്ട് മാപ്പ് ചെയ്യുന്നത് charset size 2^32 ൽ തുല്യമായി വിഭജിക്കുന്നില്ലെങ്കിൽ ചെറിയ bias ഉണ്ടാക്കുന്നു. ടൂൾ rejection sampling ഉപയോഗിക്കുന്നു: modulo tail-ൽ വീഴുന്ന sample discard ചെയ്ത് വീണ്ടും draw ചെയ്യും.
- Bulk generation. Random-character മോഡിൽ ഒറ്റ ക്ലിക്കിൽ 1 മുതൽ 50 പാസ്വേഡ് ആവശ്യപ്പെടാം. ഓരോ ഫലവും സ്വന്തം entropy estimate, strength bucket, Copy ബട്ടൺ സഹിതം ഒരു row ആയി ദൃശ്യമാകുന്നു. 'Copy all' ബട്ടൺ rows ന്യൂലൈൻ ഉപയോഗിച്ച് ഒരുമിക്കുന്നു.
- Passphrase mode. മോഡ് ടോഗിൾ മറിക്കൂ, ആദ്യ ഉപയോഗത്തിൽ EFF Short Wordlist #1 (1296 public-domain English words) lazily fetch ആകുന്നു. അഞ്ച്-വേഡ് passphrases ഏകദേശം 51.7 ബിറ്റ് entropy നൽകുന്നു — ദൈനംദിന അക്കൗണ്ടുകൾക്ക് മതിയാകും, ഒരു 9-ക്യാരക്ടർ random string-നേക്കാൾ ഓർക്കാൻ എളുപ്പം.
ഈ പാസ്വേഡ് ജനറേറ്റർ ഉപയോഗിക്കേണ്ടത് എന്തുകൊണ്ട്?
- നിങ്ങളുടെ പാസ്വേഡ് ബ്രൗസർ വിടുന്നില്ല. സർവ്വർ endpoint ഇല്ല, analytics call ഇല്ല, remote font ഇല്ല, telemetry ഇല്ല. DevTools തുറന്ന് ഒരു പാസ്വേഡ് ജനറേറ്റ് ചെയ്ത് Network panel ശ്രദ്ധിക്കൂ: ശൂന്യമായിരിക്കും.
- ഘടനാപരമായ ക്രിപ്റ്റോഗ്രാഫിക്കലി സുരക്ഷിത randomness. എല്ലാ integer-ഉം
crypto.getRandomValuesൽ നിന്ന്, modulo bias-ന് നേരെ rejection sampling ഉൾപ്പെടെ. ബ്രൗസർ പാസ്വേഡ് ജനറേറ്ററുകളിൽ ഏറ്റവും കൂടുതൽ കാണുന്ന ബഗ് — entropy-ക്ക്Math.randomഉപയോഗിക്കൽ — ഇവിടെ ഘടനാപരമായി സാദ്ധ്യമല്ല. - രണ്ട് മോഡ്, ഒരൊറ്റ ടൂൾ. Random-character മോഡ് password managers-നായി ഉയർന്ന-entropy strings ഉത്പാദിപ്പിക്കുന്നു; passphrase മോഡ് EFF Short Wordlist #1 ഉദ്ധൃതമായ xkcd-സ്റ്റൈൽ strings (
correct-horse-battery-staple) ഉത്പാദിപ്പിക്കുന്നു. രണ്ടിലും ഒരേ privacy model. - Transparent entropy. ഓരോ generated row-ഉം bits-ൽ entropy, വ്യക്തമായ strength label കാണിക്കുന്നു. 12-ക്യാരക്ടർ no-symbol string ഒരു 5-word passphrase-പോലെ ശക്തമാണോ എന്ന് ഒറ്റനോട്ടത്തിൽ കാണാം. Marketing fluff ഇല്ല, കേവലം സംഖ്യകൾ.
Generated passwords-ന്റെ പൊതു ആപ്ലിക്കേഷനുകൾ എന്തൊക്കെ?
പുതിയ random secret ആവശ്യമുള്ളപ്പോഴെല്ലാം, ഈ ടൂൾ trust surface കുറയ്ക്കുന്നു:
- Password manager imports. ഒറ്റ batch-ൽ 50 ശക്തമായ passwords ജനറേറ്റ് ചെയ്യൂ, Copy all ക്ലിക്ക് ചെയ്ത് vault-ന്റെ CSV import-ൽ paste ചെയ്യൂ. Values ഒരു സർവ്വർ വഴിയും round-trip ചെയ്തിട്ടില്ല, അതിനാൽ generation-ഉം storage-ഉം ഇടയ്ക്ക് leak window ഇല്ല.
- Master passphrases. Passphrase മോഡിലേക്ക് മാറൂ, 6 അല്ലെങ്കിൽ 7 words തിരഞ്ഞെടുക്കൂ, ഓപ്ഷണലായി ഓരോ word-ഉം capitalize ചെയ്യൂ — ഇതൊരു high-entropy string ആണ്, എഴുതി വെക്കാതെ ഓർക്കാൻ കഴിയും. 6 words-ൽ ഏകദേശം 62 bits entropy — offline attack-ന്റെ threshold-ന് ഉപരി.
- Side projects-ൽ API keys, tokens. Webhook signing key-ക്കോ development database password-ഉം one-off shared secret ആവശ്യമോ? ഇവിടെ 32-ക്യാരക്ടർ symbol-rich string ജനറേറ്റ് ചെയ്ത്, ഒരൊറ്റ തവണ copy ചെയ്യൂ — transit-ൽ ഇത് നിലനിന്ന ഒരേ ഒരു സ്ഥലം നിങ്ങളുടെ ബ്രൗസർ ടാബ് ആണ്.
ഒരു generated password example എങ്ങനെ ഇരിക്കും?
Length 16 ആക്കൂ, നാല് character classes-ഉം enabled ആക്കൂ, Generate ക്ലിക്ക് ചെയ്യൂ. Charset-ൽ 26 + 26 + 10 + 32 = 94 ക്യാരക്ടറുകൾ, അതിനാൽ ഓരോ generated ക്യാരക്ടറും log2(94) ≈ 6.55 bits entropy വഹിക്കുന്നു. പതിനാറ് ക്യാരക്ടറുകൾ ഏകദേശം 104.9 bits — 80-bit 'very strong' threshold-ഉ മുകളിൽ, നിലവിലെ hardware ഉപയോഗിച്ച് brute-force ചെയ്യുക അസാദ്ധ്യം. Passphrase മോഡ്, 5 words, default hyphen separator: cocktail-sprig-aspect-magenta-tonic — log2(1296) x 5 ≈ 51.7 bits. ഓർക്കാൻ എളുപ്പം, ടൈപ്പ് ചെയ്യാൻ ലളിതം, ശരാശരി human-chosen password-നേക്കാൾ ശക്തം.
Generate ചെയ്യൂ, copy ചെയ്യൂ, മുന്നോട്ട് പോകൂ. ഈ പേജ് ഒരു സർവ്വർ കാണുന്നില്ല, password ടാബ് വിടുന്നില്ല, entropy ആദ്യ തത്വങ്ങളിൽ നിന്ന് കണക്കു കൂട്ടപ്പെടുന്നു. ഇതൊക്കെയാണ് വാഗ്ദാനം.