Base32 risolve un problema molto preciso: quando un codice va letto ad alta voce, dettato al telefono o ricopiato a mano, un alfabeto di 32 caratteri genera molti meno errori dei 64 simboli di Base64.
Il caso classico: configurare la 2FA senza codice QR
Quando un'app come Google Authenticator non riesce a scansionare il QR code, mostra una "chiave di configurazione" da digitare a mano — quella chiave è in Base32, non in Base64. Lo standard TOTP lo impone apposta, perché il formato è pensato per essere ricopiato senza ambiguità anche quando qualcuno lo detta lettera per lettera al telefono.
Un alfabeto pensato per resistere alla dettatura
Base32 esclude del tutto 0, 1, 8, 9 e le lettere O, I, L — proprio i caratteri che si confondono più facilmente leggendoli ad alta voce o su uno schermo di bassa qualità. In una telefonata in italiano, distinguere la lettera "O" dallo zero senza un alfabeto fonetico resta un'operazione ambigua; Base32 elimina il problema alla radice non usando mai la lettera O.
Dove si incontra nella pratica
- Gli indirizzi .onion della rete Tor — i 56 caratteri del sottodominio sono una chiave pubblica Ed25519 codificata in Base32.
- Le etichette DNS e i sottodomini, che per specifica non distinguono maiuscole e minuscole.
- I codici sconto o referral stampati su uno scontrino cartaceo, che il cliente deve ridigitare a mano su un sito.
Il prezzo della leggibilità: stringhe più lunghe
Con meno simboli disponibili, ogni byte richiede più caratteri per essere rappresentato — il risultato è circa il 60% più lungo rispetto a Base64. Per una chiave segreta di 20 byte la differenza è trascurabile, ma per un file di alcuni megabyte Base32 diventa impraticabile rispetto a Base64.
Base32 e Base32hex non sono intercambiabili
La RFC 4648 definisce anche Base32hex, che usa l'alfabeto 0–9A–V invece di A–Z2–7 e mantiene l'ordine di ordinamento delle stringhe identico a quello dei byte originali — una proprietà importante per alcuni database. Una stringa codificata con una variante non viene decodificata correttamente dall'altra, quindi conviene verificare quale variante è realmente attesa prima di decodificare.