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
- Prendi i byte di input:
M,a,n= 77, 97, 110. - Scrivili come 24 bit:
01001101 01100001 01101110. - Dividi i bit in quattro gruppi da 6 bit:
010011 010110 000101 101110= 19, 22, 5, 46. - 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
| Valori | Caratteri |
|---|---|
| 0–25 | A–Z |
| 26–51 | a–z |
| 52–61 | 0–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 standard (RFC 4648) – l'alfabeto visto sopra, con padding
=. - Base64URL – usa
-e_e spesso non ha padding; si usa in URL, nomi di file e JWT. - Base64 MIME – alfabeto standard con a capo ogni 76 caratteri, usato nelle email.
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
- Allegati email (MIME)
- Data URI per immagini e font in HTML e CSS
- Campi binari nelle API JSON e XML
- JSON Web Token e OAuth
- Header di autenticazione HTTP Basic
- Certificati PEM e chiavi SSH
- Secret di Kubernetes e file di configurazione
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: