🌐 IT

🎲 Generatore di testo casuale

Strumento per generare UUID, stringhe casuali, chiavi di sicurezza e altro. Utile per chiavi API, password temporanee, generazione di token e numeri casuali in modo crittograficamente sicuro.

Risultato
※ UUID è un identificatore univoco universale con una probabilità di duplicazione estremamente bassa.
※ I numeri casuali generati sono creati in modo crittograficamente sicuro.
※ Può essere usato per chiavi API, password temporanee, token e altro.
GUIDA

Scopri di piu

01

1. Importanza dei numeri casuali e del CSPRNG

I numeri casuali sono valori imprevedibili essenziali per crittografia, sicurezza, giochi e simulazioni. I generatori standard producono numeri pseudo-casuali creati da algoritmi, quindi risultano prevedibili se il valore del seed è noto. Per applicazioni critiche per la sicurezza, usa un CSPRNG (Cryptographically Secure Pseudo-Random Number Generator). In PHP, random_bytes() e random_int() sono CSPRNG che usano /dev/urandom o CryptGenRandom. JavaScript offre crypto.getRandomValues(), che sfrutta le fonti di entropia del browser. Il normale Math.random() non è adatto alla sicurezza e non deve mai essere usato per token, ID di sessione o chiavi di crittografia.

02

2. UUID e identificatori univoci

UUID (Universally Unique Identifier) è un identificatore univoco a 128 bit con una probabilità di collisione estremamente bassa. UUID v4 è completamente casuale ed è il più utilizzato. Il formato è xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, dove 4 indica la versione e y indica la variante. UUID v1 si basa su timestamp e indirizzo MAC, consentendo l'ordinamento cronologico ma esponendo gli indirizzi MAC come rischio per la sicurezza. UUID v7 è la versione più recente, basata sul timestamp ma senza esporre informazioni personali. Usare UUID come chiavi primarie di database, nomi file, ID di sessione e in sistemi distribuiti garantisce unicità senza coordinamento centralizzato.

03

3. Generazione di chiavi di sicurezza e token

Le chiavi API, i token di autenticazione e gli ID di sessione devono avere un'entropia sufficiente. Si raccomandano almeno 128 bit (16 byte), mentre 256 bit (32 byte) sono ancora più sicuri. La codifica Base64 li converte in stringhe compatibili con gli URL. Un JWT (JSON Web Token) è composto da Header, Payload e Signature e contiene le informazioni nel token stesso. I token CSRF prevengono il cross-site request forgery includendo token univoci in ogni modulo. Anche il parametro state di OAuth 2.0 è un valore casuale usato per prevenire CSRF. I token dovrebbero essere monouso (nonce) o avere una scadenza per impedire attacchi replay.

04

4. Implementazione di generatori casuali crittografici

I sistemi operativi raccolgono entropia da rumore hardware, tempi di digitazione o del mouse, pacchetti di rete e altro. Linux offre /dev/random (bloccante) e /dev/urandom (non bloccante). /dev/random attende quando l'entropia è insufficiente, cosa problematica negli ambienti server. I kernel moderni raccomandano la system call getrandom(). Windows usa CryptGenRandom (legacy) o BCryptGenRandom (moderno). Gli hardware random number generator (HRNG) utilizzano le istruzioni Intel RDRAND o chip TPM per una casualità reale. Gli ambienti cloud possono soffrire di scarsità di entropia a causa della virtualizzazione, e usano daemon come haveged.

05

5. Numeri casuali in blockchain e smart contract

Le blockchain sono ambienti deterministici, quindi la generazione casuale è difficile. Tutti i nodi devono verificare lo stesso risultato, perciò i normali numeri casuali non possono essere usati. Usare gli hash dei blocchi come fonte di casualità permette ai miner di manipolare il risultato. Chainlink VRF (Verifiable Random Function) fornisce casualità verificabile per lotterie on-chain e minting NFT. Gli schemi Commit-Reveal richiedono ai partecipanti di inviare prima gli hash (commit) e poi rivelare i valori originali (reveal) per evitare manipolazioni. Random Beacon è un servizio pubblico di casualità fornito da NIST o dal progetto drand. I giochi su smart contract richiedono una casualità affidabile.

06

6. Applicazioni pratiche dei generatori casuali

I generatori casuali online servono a molti scopi. L'emissione di chiavi API richiede lunghezza sufficiente (32+ caratteri) e complessità. Le password temporanee combinano numeri, lettere e caratteri speciali e sono impostate per l'uso una sola volta. I codici coupon preferiscono combinazioni facili da leggere con maiuscole e numeri (ad es. AB12-CD34-EF56). I codici invito usano 6-8 caratteri brevi e facili da ricordare. Le combinazioni timestamp+casuale evitano collisioni nei nomi file. Usare UUID come chiavi di sharding del database supera i limiti dell'auto-increment. L'assegnazione dei gruppi nei test A/B garantisce equità tramite la casualità. Seleziona sempre generatori casuali adeguati ai requisiti di sicurezza.

Domande frequenti

Qual è la differenza tra un UUID e una normale stringa casuale?
Un UUID è un identificatore standardizzato a 128 bit nel formato 8-4-4-4-12 con una probabilità di collisione estremamente bassa, ideale come chiave di database. Le normali stringhe casuali ti permettono di scegliere liberamente lunghezza e set di caratteri (alfanumerico, solo numeri, esadecimale), quindi sono più adatte a password temporanee o codici coupon.
Quanto sono sicuri i valori casuali generati?
Lo strumento usa la generazione casuale crittograficamente sicura del tuo browser (CSPRNG), molto più difficile da prevedere rispetto al semplice Math.random(). Questo lo rende adatto a usi sensibili come chiavi API o token di autenticazione.
Qual è la lunghezza massima che posso generare?
Puoi specificare qualsiasi lunghezza da 1 a 256 caratteri, coprendo tutto, dai codici invito brevi ai lunghi token di sicurezza.
Per cosa posso usare i valori generati?
Gli usi comuni includono chiavi API, password temporanee, token di sessione, codici coupon e identificatori univoci per evitare collisioni nei nomi file.
Gli UUID o le stringhe casuali generate vengono salvati su un server?
No, tutta la generazione avviene nel tuo browser e nulla viene inviato o salvato su un server.