Cos'è Base64?
Base64 è uno schema di codifica che converte dati binari in caratteri ASCII stampabili. Definito dall'RFC 4648, è uno dei pilastri dei protocolli Internet moderni. Il nome deriva dall'alfabeto di 64 caratteri: maiuscole (A–Z), minuscole (a–z), cifre (0–9) e due caratteri speciali (+ e /). Ogni 3 byte di dati grezzi vengono convertiti in 4 caratteri Base64, aumentando la dimensione di circa il 33%.
Come funziona?
I dati di input vengono divisi in blocchi di 3 byte (24 bit). Ogni blocco viene suddiviso in quattro gruppi di 6 bit e ogni gruppo viene sostituito dal carattere Base64 corrispondente (valore 0–63). Se l'ultimo blocco è incompleto, vengono aggiunti = di riempimento.
Casi d'uso
Token JWT
I JSON Web Token sono composti da tre parti codificate in Base64URL: header, payload e firma. La variante URL-safe sostituisce + con - e / con _, per funzionare negli URL senza codifica aggiuntiva. Molti sviluppatori usano un decoder Base64 per ispezionare il contenuto di un JWT.
Autenticazione HTTP Basic
HTTP Basic Auth concatena nome utente e password (separati da :), li codifica in Base64 e li invia nell'header Authorization. Questo non è cifratura — senza HTTPS le credenziali sono leggibili.
Allegati e-mail (MIME)
SMTP trasporta solo testo ASCII. Lo standard MIME codifica gli allegati in Base64 per farli transitare sui server di posta. È così che PDF, immagini e altri file vengono inviati via e-mail.
Data URI in CSS
Immagini piccole, icone SVG o font possono essere incorporati direttamente nel CSS: background: url('data:image/png;base64,...'). Questo elimina richieste HTTP aggiuntive.
API REST
JSON trasporta solo testo. Per questo, immagini o dati binari vengono codificati in Base64 nel corpo delle richieste API.
Base64 ≠ cifratura
Base64 non è sicurezza. Chiunque può decodificarlo in secondi senza chiave. Memorizzare password o dati personali solo in Base64 è una grave vulnerabilità. Per proteggere dati sensibili, usa AES-256 o RSA.
Variante URL-safe (Base64URL)
RFC 4648 §5 definisce Base64URL: + diventa - e / diventa _. Questa variante è indispensabile per OAuth 2.0 PKCE, JWT e API moderne.
Privacy
Questo strumento elabora tutto localmente nel browser. Nessun dato viene inviato a server.
Commenti