Strumenti
IT

Che cos'è la codifica Base64?

Base64 è un modo per scrivere qualsiasi dato binario usando solo 64 caratteri stampabili. Ecco come funziona, perché esiste e quando conviene usarlo (e quando no).

Base64 in una frase

Base64 è una codifica da binario a testo definita nella RFC 4648 che rappresenta ogni gruppo di 3 byte di dati con 4 caratteri dell'alfabeto A–Z, a–z, 0–9, + e /.

Perché esiste Base64

Molti sistemi sono nati per gestire solo testo: email (SMTP), JSON, XML, attributi HTML, URL e terminali. I dati binari grezzi, come immagini o PDF, possono contenere byte che questi sistemi modificherebbero o rifiuterebbero. Base64 converte i dati in caratteri sicuri e stampabili, così arrivano a destinazione intatti.

Come funziona la codifica Base64, passo dopo passo

  1. Prendi i byte di input: M, a, n = 77, 97, 110.
  2. Scrivili come 24 bit: 01001101 01100001 01101110.
  3. Dividi i bit in quattro gruppi da 6 bit: 010011 010110 000101 101110 = 19, 22, 5, 46.
  4. Cerca ogni numero nell'alfabeto: 19 = T, 22 = W, 5 = F, 46 = u.

Così Man diventa TWFu. La decodifica non fa altro che ripercorrere questi passaggi al contrario.

L'alfabeto Base64

ValoriCaratteri
0–25A–Z
26–51a–z
52–610–9
62+ (URL-safe: -)
63/ (URL-safe: _)
padding=

Cosa significa il padding =

Quando la lunghezza dell'input non è un multiplo di 3, l'ultimo gruppo viene completato e segnalato con =: Ma diventa TWE= e M diventa TQ==. Il padding non compare mai a metà di una stringa valida.

Le varianti di Base64

Base64 non è crittografia

Base64 non nasconde nulla: chiunque può decodificarlo all'istante. Viene spesso scambiato per una protezione perché l'output sembra casuale. Per i segreti usa una vera cifratura come AES, e Base64 solo per trasportare i byte cifrati come testo.

Aumento delle dimensioni

La lunghezza codificata è di 4 × ⌈n / 3⌉ caratteri per n byte, circa il 33% in più rispetto all'originale. Con gli a capo MIME cresce di un ulteriore 2–3%.

Dove si usa Base64

Domande frequenti

Base64 è come la crittografia o l'hashing?

No. La crittografia richiede una chiave per essere invertita, l'hashing non si può invertire affatto, mentre Base64 può essere decodificato da chiunque.

Perché si chiama Base64?

Perché usa un alfabeto di 64 caratteri, quindi ogni carattere trasporta 6 bit di informazione (26 = 64).

Come faccio a capire se una stringa è in Base64?

Contiene solo A–Z, a–z, 0–9, +, / (oppure - e _), la sua lunghezza è di solito un multiplo di 4 e può terminare con uno o due segni =. Il test più rapido è incollarla nel nostro decoder.

Ultimo aggiornamento: