Curious TechieDev Toolbox
Tutte le Guide/Codifica & Crittografia8 min read

Guida Completa alla Codifica Base64

Scopri cos’è Base64, come funziona la conversione a 6 bit, le varianti URL-safe e perché non è una forma di cifratura.

Punti Chiave
  • Base64 è uno schema di conversione binario-testo regolato da RFC 4648 con un indice a 64 caratteri.
  • Raggruppa 3 byte (24 bit) in 4 caratteri da 6 bit, incrementando il peso del payload di circa il 33%.
  • Base64 NON è crittografia: chiunque può decodificarlo senza alcuna chiave segreta.
  • La variante URL-safe converte + in - e / in _ per prevenire errori nelle URL.

I primi protocolli Internet (come SMTP) furono progettati per scambiare testo a 7 bit ASCII. Per trasferire dati binari a 8 bit (immagini, allegati, certificati) senza corruzioni, è stato ideato lo standard di codifica Base64.

1. Cos’è il Base64?

Il Base64 è uno schema di codifica standardizzato da RFC 4648 che trasforma sequenze di byte binari in un set di 64 caratteri ASCII stampabili: lettere maiuscole (A-Z), minuscole (a-z), cifre (0-9) e i simboli + e /.

2. Meccanica Matematica da 3 a 4 Byte

L’algoritmo raggruppa i dati in blocchi da 24 bit (3 byte) e li divide in 4 numeri da 6 bit (poiché 2^6 = 64). Ciascun valore fa da indice nella tabella dei 64 caratteri:

3 Byte in Ingresso: [01001101] [01100001] [01101110] (24 bit = "Man")
4 Blocchi Uscita: [010011] [010110] [000101] [101110]
Indice Base64: 19 22 5 46
Output Base64: T W F u => "TWFu"

3. Perché è Necessario il Padding con Uguale (=)

Se la lunghezza in byte non è divisibile per 3, l’encoder inserisce bit zero e aggiunge uno o due caratteri uguale (=) di padding per permettere al decodificatore di ricostruire l’esatto numero di byte.

4. Varianti Base64 Sicure per gli URL

Il Base64 standard impiega + e /, riservati negli URL. Nella versione URL-safe (usata nei JWT), + viene sostituito con - e / con _, spesso omettendo il padding =.

5. Il Mito della "Crittografia Base64"

Il Base64 non è assolutamente crittografia. Non esiste una chiave segreta. Chiunque visualizzi una stringa Base64 può decodificarla all’istante. Non usatelo mai per proteggere password o dati riservati.