Tutorial

Come capire e decodificare Base64

6 min di lettura

Una guida pratica per riconoscere Base64, decodificarlo in byte o testo, capire il padding e non scambiarlo per crittografia.

Base64 in una frase

Base64 è una codifica da binario a testo: rappresenta byte arbitrari con un alfabeto di 64 caratteri. È utile quando i dati devono passare in sistemi che si aspettano testo, come JSON, email, intestazioni HTTP, Data URI e alcuni token.

Non è crittografia. Una stringa Base64 si decodifica senza password, quindi non protegge i segreti.

Come riconoscere un possibile Base64

Il Base64 standard usa lettere maiuscole, minuscole, cifre, +, / e padding opzionale =. La lunghezza di solito è multipla di quattro, ignorando spazi e a capo.

La variante sicura per URL, Base64URL, usa spesso - e _ al posto di + e /. L’aspetto è solo un indizio: il test affidabile è decodificare e controllare il risultato.

Decodifica in ordine sicuro

Prima conserva una copia della stringa originale. Rimuovi spazi innocui, controlla alfabeto e padding, poi decodifica in byte. Interpreta quindi quei byte come testo UTF-8, JSON, immagine, certificato, dati compressi o altro formato.

Se l’output non è leggibile, può comunque essere Base64 valido. Potrebbe contenere dati binari, byte compressi o contenuto cifrato che richiede un passaggio separato.

Che cosa succede dentro la codifica

Base64 raggruppa i byte di input a tre a tre. Quei 24 bit sono divisi in quattro valori da 6 bit, e ogni valore sceglie un carattere dall’alfabeto Base64. La parola Man diventa TWFu.

Come esempio verificato, Hello, Morse! si codifica in SGVsbG8sIE1vcnNlIQ== e si decodifica nello stesso testo UTF-8.

Padding e Unicode

Quando la lunghezza dell’input non è divisibile per tre, Base64 aggiunge padding. Un byte rimanente produce due =; due byte rimanenti producono un =. Il padding dice al decoder quanti byte recuperare dall’ultimo gruppo.

Base64 codifica byte, non caratteri astratti. Un testo come Café ☕ deve prima diventare byte UTF-8; quei byte si codificano come Q2Fmw6kg4piV.

Usi comuni e limiti di sicurezza

Base64 è comune in API, campi JSON, allegati email, intestazioni Basic Auth, parti di JWT, immagini Data URI, certificati e file di configurazione. In ogni caso risolve un problema di trasporto: rendere i byte adatti a canali testuali.

Non chiamare Base64 “decifratura” e non salvare password, chiavi API o dati personali solo in Base64. Se serve riservatezza, usa vera crittografia prima della codifica di trasporto.

Domande frequenti

I caratteri = sono padding. Completano l’ultimo gruppo da 4 caratteri quando la lunghezza originale in byte non era multipla di tre.

Sì. Base64 può trasportare byte cifrati, ma è solo la rappresentazione esterna. La decodifica rimuove l’involucro testuale; non decifra il contenuto.

Ogni 3 byte di input diventano 4 caratteri di testo, quindi la forma codificata è circa un terzo più grande prima di a capo o altra formattazione.

Vedi anche