Sa bits sinusukat ang lakas, at hindi sinasabi ng bilang ng karakter kung ilan ang mayroon. Iyon ang isang bagay na nilikha ng pahinang ito para linawin.
Humingi ng "32 karakter" at ang makukuha mo ay lubos na nakadepende sa format. Sa hexadecimal, 128 bits ito, dahil isang byte ang dala ng dalawang karakter. Sa base64, 192, dahil tatlong byte ang dala ng apat na karakter. Mula sa alpabetong may 56 karakter, mga 185. Pareho ang haba, at ang pinakamahina ay bahagya lamang mahigit sa kalahati ng pinakamalakas. Kaya ang bilang ng bits ang numerong nakalimbag nang malaki, at ang haba ay detalyeng nasa ilalim nito.
Ang UUID v4 ay 122 bits, hindi 128. Apat na bits ang nakapako sa bersiyon at dalawa sa variant, na siya mismong nagpapakilala sa UUID bilang UUID. Magandang palitan iyon para sa isang identifier at masama para sa signing key, at maraming software ang tumatrato sa dalawa na parang magkapalit.
Ang lahat dito ay galing sa crypto.getRandomValues, ang cryptographic na pinagmumulan ng random ng operating system mo. Walang gumagamit ng Math.random, na ang panloob na kalagayan ay mababawi mula sa iilang output — mainam na mainam sa pagsasalansan ng playlist, hindi puwede sa isang susi.
Magtanong sa bits sa halip na karakter. Ang 128 bits ang karaniwang pinakamababa para sa anumang matagalan at ang 256 bits ang karaniwang pili para sa signing key — 32 o 64 na hexadecimal na karakter iyon, o 22 at 43 sa base64. Walang sinasabi ang bilang ng karakter mag-isa, kaya ang bilang ng bits ang malaking numero sa pahinang ito.
Dahil magkaiba ang dami ng impormasyong dala ng isang karakter sa bawat format. Dalawang karakter ang ginagamit ng hexadecimal sa bawat byte, kaya 4 bits kada karakter. Anim na bits ang isinisiksik ng Base64 sa bawat isa. Ang alphanumeric na alphabet na may 56 karakter ay may mga 5.81. Kaya ang 32 hexadecimal na karakter ay 128 bits at ang 32 base64 na karakter ay 192 — parehong haba at kalahating dagdag ang lakas.
Karaniwang hindi. Ang UUID v4 ay 128 bits ang haba pero 122 lamang ang random — apat na bits ang nakapirmi sa bersyon at dalawa sa variant — at maraming software ang tumatrato rito na parang buong 128. Mahusay itong pantukoy: natatangi, sapat na maayos ayusin, madaling makilala. Para sa bagay na naglalagda ng token o nagpoprotekta ng datos sa loob ng mga taon, gumawa ng 32 random na bytes sa halip.
Hexadecimal kung babasahin ito ng tao o ipa-paste sa config file — labing-anim na karakter lang ang ginagamit nito at hindi nasisira kapag muling tinipa. URL-safe base64 kung papasok ito sa URL, pangalan ng file o environment variable, dahil ang karaniwang base64 ay may plus, slash at padding, na pawang nakakaperwisyo sa mga lugar na iyon. UUID kung pantukoy ang gusto mo at hindi lihim.
Ginagamit nito ang cryptographic random source ng browser mo, ang parehong ginagamit sa TLS keys, sa pamamagitan ng crypto.getRandomValues. Hindi ito kailanman gumagamit ng Math.random, isang mabilis na di-cryptographic na generator na ang panloob na kalagayan ay makukuha mula sa iilang labas — maayos sa pagshuffle ng listahan at hindi katanggap-tanggap para sa key.
Hindi. Ginagawa ito sa browser mo at hindi kailanman ipinapadala. Walang isinusulat sa mga server namin at walang itinatago kapag isinara mo ang pahina, kaya i-save ito kung saan bago ka umalis — hindi namin ito maibabalik para sa iyo.
Paramihin sa haba para makuha ang lakas. Ito lamang ang sumang mahalaga sa pahinang ito.
Iisang tagubilin, sinunod sa tatlong paraan, na nagbibigay ng limampung porsyentong agwat sa lakas. Maling tanong ang "ilang karakter".
Ginawa sa browser mo at hindi kailanman ipinapadala o iniimbak. Walang anuman ditong maibabalik kapag naisara na ang pahina, at kasing-ligtas lamang ang isang susi ng susunod mong paglalagyan nito. Walang ipinapadala sa mga server namin ang tina-type mo rito — sa browser mo tumatakbo nang buo ang pagkuwenta.