In questo articolo
Cos'è Base32?
Base32 è uno schema di codifica da binario a testo definito nella RFC 4648 che rappresenta dati binari usando un set di 32 caratteri (A-Z e 2-7). A differenza di Base64, Base32 usa solo lettere maiuscole e cifre, rendendolo insensibile alle maiuscole e facile da digitare manualmente.
Base32 produce un output più lungo di Base64 (circa il 60% di overhead vs il 33%), ma il compromesso è una migliore leggibilità e compatibilità con sistemi che non distinguono maiuscole o che vietano caratteri speciali come + e /.
Come funziona la codifica Base32
Base32 converte ogni gruppo di 5 byte (40 bit) in 8 caratteri Base32 (5 bit ciascuno), con padding di = quando la lunghezza non è multipla di 5.
- Raggruppamento a 5 bit — i byte vengono divisi in blocchi da 5 bit, ciascuno mappato a uno dei 32 caratteri dell'alfabeto A-Z, 2-7
- Padding — vengono aggiunti = per garantire che l'output sia sempre multiplo di 8
- Varianti — Base32Hex usa 0-9, A-V invece di A-Z, 2-7 per preservare l'ordine di ordinamento
Prova gratuitamente — nessuna registrazione richiesta
Codifica o decodifica Base32 →Quando usare Base32
Base32 è preferibile a Base64 quando contano la sensibilità alle maiuscole, la leggibilità o le restrizioni sui caratteri.
- Segreti TOTP — le app di autenticazione come Google Authenticator usano segreti codificati in Base32 perché gli utenti potrebbero doverli digitare manualmente
- Codifica Crockford — variante Base32 che rimuove caratteri ambigui (I, L, O, U) per identificatori più leggibili
- DNS e file system — Base32 funziona in ambienti insensibili alle maiuscole dove l'alfabeto misto di Base64 causerebbe collisioni
Domande frequenti
Qual è la differenza tra Base32 e Base64?
Base32 usa 32 caratteri (A-Z, 2-7) con output circa il 60% più grande; Base64 usa 64 caratteri con circa il 33% di overhead. Base32 è insensibile alle maiuscole e evita caratteri speciali.
Perché le app di autenticazione usano Base32?
Perché gli utenti a volte devono digitare la chiave segreta manualmente. L'alfabeto solo maiuscolo evita confusione tra caratteri simili.
Cos'è Base32Hex?
Base32Hex usa 0-9 e A-V invece di A-Z, 2-7. Preserva l'ordine lessicografico dei dati binari originali, utile per l'indicizzazione di database.