🌐 NL

🎲 Generator voor willekeurige tekst

Hulpmiddel voor het genereren van UUID's, willekeurige tekenreeksen, beveiligingssleutels, enz. Handig voor API-sleutels, tijdelijke wachtwoorden, token-generatie en het genereren van willekeurige getallen op cryptografisch veilige wijze.

Resultaat
※ Een UUID is een universeel unieke identificatie met een uiterst kleine kans op duplicatie.
※ De gegenereerde willekeurige getallen worden op cryptografisch veilige wijze gemaakt.
※ Kan worden gebruikt voor API-sleutels, tijdelijke wachtwoorden, tokens, enz.
GIDS

Meer lezen

01

1. Belang van willekeurige getallen en CSPRNG

Willekeurige getallen zijn onvoorspelbare waarden die essentieel zijn voor versleuteling, beveiliging, games en simulaties. Standaard random generators maken pseudo-willekeurige getallen met algoritmen, waardoor ze voorspelbaar zijn als de seed bekend is. Voor beveiligingskritische toepassingen gebruik je CSPRNG (Cryptographically Secure Pseudo-Random Number Generator). PHP's random_bytes() en random_int() zijn CSPRNG's die /dev/urandom of CryptGenRandom gebruiken. JavaScript biedt crypto.getRandomValues(), dat browser-entropybronnen benut. Gewone Math.random() is ongeschikt voor beveiliging en mag nooit worden gebruikt voor tokens, sessie-ID's of versleutelingssleutels.

02

2. UUID en unieke identificaties

UUID (Universally Unique Identifier) is een unieke identificatie van 128 bits met een uiterst kleine kans op botsingen. UUID v4 is volledig willekeurig en wordt het meest gebruikt. De indeling is xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, waarbij 4 de versie aanduidt en y de variant. UUID v1 is gebaseerd op tijdstempel en MAC-adres, waardoor chronologische sortering mogelijk is, maar MAC-adressen worden blootgesteld als beveiligingsrisico. UUID v7 is de nieuwste versie, gebaseerd op een tijdstempel maar zonder persoonlijke informatie prijs te geven. UUID's gebruiken voor database-primairesleutels, bestandsnamen, sessie-ID's en gedistribueerde systemen zorgt voor uniciteit zonder centrale coördinatie.

03

3. Beveiligingssleutels en token-generatie

API-sleutels, authenticatietokens en sessie-ID's moeten voldoende entropie hebben. Minimaal 128 bits (16 bytes) wordt aanbevolen, waarbij 256 bits (32 bytes) veiliger is. Base64-codering zet waarden om naar URL-veilige tekenreeksen. JWT (JSON Web Token) bestaat uit Header, Payload en Signature en bevat informatie in het token zelf. CSRF-tokens voorkomen cross-site request forgery door in elk formulier unieke tokens op te nemen. De state-parameter van OAuth 2.0 is ook een willekeurige waarde voor CSRF-bescherming. Tokens moeten eenmalig zijn (nonce) of een vervaltijd hebben om replay-aanvallen te voorkomen.

04

4. Cryptografische random generators implementeren

Besturingssystemen verzamelen entropie uit hardware-ruis, timing van toetsenbord/muis, netwerkpakketten, enz. Linux biedt /dev/random (blokkerend) en /dev/urandom (niet-blokkerend). /dev/random wacht als de entropie onvoldoende is, wat problematisch is in serveromgevingen. Moderne kernels adviseren de systeemaanroep getrandom(). Windows gebruikt CryptGenRandom (oud) of BCryptGenRandom (modern). Hardware random number generators (HRNG) gebruiken Intel RDRAND-instructies of TPM-chips voor echte willekeur. Cloudomgevingen kunnen een tekort aan entropie hebben door virtualisatie en gebruiken daemons zoals haveged.

05

5. Willekeurige getallen in blockchain en smart contracts

Blockchains zijn deterministische omgevingen, waardoor willekeurige generatie lastig is. Alle nodes moeten hetzelfde resultaat verifiëren, dus gewone willekeurige getallen kunnen niet worden gebruikt. Het gebruik van block hashes als bron voor willekeur maakt manipulatie door miners mogelijk. Chainlink VRF (Verifiable Random Function) biedt verifieerbare willekeur voor loterijen op de blockchain en NFT-minting. Bij Commit-Reveal sturen deelnemers eerst hashes in (commit) en onthullen later de originelen (reveal) om manipulatie te voorkomen. Een Random Beacon is een openbare willekeurigheidsdienst van NIST of het drand-project. Games op smart contracts vereisen betrouwbare willekeur.

06

6. Praktische toepassingen van random generators

Online random generators dienen uiteenlopende doelen. Voor het uitgeven van API-sleutels is voldoende lengte vereist (32+ tekens) en complexiteit. Tijdelijke wachtwoorden combineren cijfers+letters+speciale tekens en worden ingesteld voor eenmalig gebruik. Couponcodes kiezen bij voorkeur voor gebruiksvriendelijke combinaties van hoofdletters en cijfers (bijv. AB12-CD34-EF56). Uitnodigingscodes gebruiken korte, makkelijk te onthouden codes van 6-8 tekens. Tijdstempel+willekeur-combinaties voorkomen bestandsnaamconflicten. UUID's als sharding-sleutels voor databases helpen de beperkingen van auto-increment-ID's te omzeilen. Toewijzing van A/B-testgroepen zorgt voor eerlijkheid via willekeur. Kies altijd een passende random generator die aansluit bij de beveiligingsvereisten.

Veelgestelde vragen

Wat is het verschil tussen UUID en een gewone willekeurige tekenreeks?
Een UUID is een gestandaardiseerde identificatie van 128 bits in het 8-4-4-4-12-formaat met een uiterst kleine kans op botsingen, waardoor het ideaal is voor databasesleutels. Gewone willekeurige tekenreeksen laten je vrij de lengte en tekenset kiezen (alfanumeriek, alleen cijfers, hex), wat beter past bij tijdelijke wachtwoorden of couponcodes.
Hoe veilig zijn de gegenereerde willekeurige waarden?
De tool gebruikt de cryptografisch veilige willekeurige generatie van je browser (CSPRNG), die veel moeilijker te voorspellen is dan gewone Math.random(). Daardoor is het geschikt voor beveiligingsgevoelige toepassingen zoals API-sleutels of authenticatietokens.
Wat is de maximale lengte die ik kan genereren?
Je kunt elke lengte tussen 1 en 256 tekens opgeven, van korte uitnodigingscodes tot lange beveiligingstokens.
Waarvoor kan ik de gegenereerde waarden gebruiken?
Veelgebruikte toepassingen zijn API-sleutels, tijdelijke wachtwoorden, sessietokens, couponcodes en unieke identificaties om bestandsnaamconflicten te voorkomen.
Worden de gegenereerde UUID's of willekeurige tekenreeksen op een server opgeslagen?
Nee, alle generatie gebeurt in je browser en niets wordt naar een server verzonden of daarop opgeslagen.