Skip to main content
FastCalc

Base64

Codifica o decodifica Base64.

Tutti i calcoli sono eseguiti localmente nel tuo browser. Nessun dato viene inviato al server.

I risultati hanno carattere informativo. Verificali con altre fonti.

Calcolato nel tuo browser. Nulla di ciò che inserisci viene inviato.

Capire il Base64

Il Base64 riscrive dati binari qualsiasi usando 64 caratteri stampabili, così da poter attraversare canali che accettano solo testo: corpi di e-mail, stringhe JSON, URL data:, intestazioni HTTP. È un formato di trasporto, non una misura di sicurezza.

Come funziona

  • Prende l'input tre byte alla volta (24 bit) e divide quei 24 bit in quattro gruppi da sei.
  • Ogni gruppo da 6 bit è un numero da 0 a 63, usato come indice nell'alfabeto A–Z, a–z, 0–9, + e /.
  • Quando la lunghezza dell'input non è multipla di tre, l'output viene riempito con uno o due caratteri = perché il risultato sia sempre multiplo di quattro.
  • La variante URL-safe sostituisce + e / con - e _, poiché + e / hanno un proprio significato dentro un URL.
3 byte (24 bit) → 4 gruppi da 6 bit → 4 caratteri dell'alfabeto
lunghezza output = 4 × ceil(lunghezza input / 3)

Esempio pratico

Codifica della stringa di tre caratteri Hi!: esattamente un gruppo completo, quindi senza riempimento.

  1. H = 0x48 = 01001000, i = 0x69 = 01101001, ! = 0x21 = 00100001
  2. concatenazione: 010010000110100100100001
  3. divisione in gruppi da sei bit: 010010 | 000110 | 100100 | 100001
  4. come numeri: 18, 6, 36, 33
  5. lettura nell'alfabeto: 18→S, 6→G, 36→k, 33→h

Hi! si codifica in SGkh. Quattro caratteri in uscita per tre byte in ingresso: il rapporto fisso 4:3 che rende il Base64 circa il 33% più grande dei dati che trasporta.

Come leggere il risultato

  • Il Base64 non è cifratura e non offre alcuna protezione. Chiunque lo decodifica all'istante — questa pagina lo fa. Non usarlo mai per nascondere un segreto.
  • Aspettati una crescita di circa il 33%, più il riempimento. Un file da 10 MB diventa circa 13,3 MB una volta codificato: per questo incorporare immagini grandi come URL data: appesantisce una pagina.
  • Il riempimento = non porta dati. Alcuni parser lo richiedono, altri lo rifiutano; JWT lo elimina del tutto.
  • La codifica opera su byte, non su caratteri. Il testo va prima convertito in byte, e questo codificatore usa UTF-8: la stessa stringa può dare un risultato diverso con un'altra codifica di caratteri.

Domande frequenti

Il Base64 è una forma di cifratura?
No. La cifratura richiede una chiave ed è progettata per resistere a un attaccante; il Base64 non richiede nulla e si inverte in microsecondi. Se trovi una stringa Base64 in un file di configurazione, considera il suo contenuto del tutto pubblico.
Perché alcune stringhe Base64 finiscono con = o ==?
Perché l'input non era un multiplo di tre byte. Un byte residuo produce due caratteri di riempimento, due byte residui ne producono uno. Il riempimento riporta l'output a un multiplo di quattro.
Che cos'è base64url e quando serve?
È la stessa codifica in cui - e _ sostituiscono + e /, così l'output è sicuro dentro un percorso o una query string senza ulteriore escaping. Lo usano i JWT, i parametri OAuth e molte API.