Home / Base64
Converti file e testo in Base64 e viceversa: carica un file con il drag-and-drop o incolla una stringa, ottieni il risultato e copialo negli appunti con un clic.
Vai direttamente allo strumento ↓
Base64 è una tecnica di codifica utilizzata principalmente nel trasferimento di dati attraverso internet o in altri contesti che necessitano di una rappresentazione in forma di testo di dati binari (come immagini, file audio, video, ecc.). Questa codifica è progettata per rendere i dati binari sicuri e maneggevoli quando si attraversano reti o si lavora in formati che sono limitati a caratteri testuali.
La codifica Base64 funziona convertendo i dati binari in una serie di caratteri alfanumerici e di alcuni simboli. Utilizza un insieme di 64 caratteri: le lettere maiuscole A-Z, le lettere minuscole a-z, i numeri 0-9, e i simboli + e /. Per garantire che la lunghezza dell'output codificato sia un multiplo di 4, possono essere aggiunti uno o due caratteri di riempimento =, detti padding.
2^6 = 64, e quindi ogni gruppo può essere rappresentato da un singolo carattere nel sistema Base64.= per indicare l'aggiunta.L'utilizzo principale della codifica Base64 è nell'encoding di dati binari per l'inclusione in entità quali URL, codice HTML o intestazioni email, dove i dati diretti binari potrebbero non essere gestiti correttamente a causa di restrizioni sui caratteri o sulla codifica dei contenuti. Benché aumenti la dimensione dei dati del 33% circa rispetto al loro formato originale, la codifica Base64 è ampiamente adottata per la sua versatilità e compatibilità.
Se stai compilando un modulo o un file XML della pubblica amministrazione e ti viene chiesta l'impronta del documento in codifica Base64, non ti sta chiedendo di convertire il documento in Base64. Sono due cose diverse, e confonderle è l'errore più comune.
L'impronta è l'hash del documento — di norma SHA-256 — cioè una sequenza di lunghezza fissa che identifica quel file e cambia se il file cambia anche di un solo byte. Base64 è solo il modo in cui quell'impronta viene scritta nel campo: gli schemi XML della PA derivano da XMLDSig, dove il valore del digest è per specifica in Base64 e non in esadecimale.
Quindi: prima si calcola l'impronta, poi la si scrive in Base64. Il documento intero non c'entra.
Quasi tutti gli strumenti restituiscono l'hash in esadecimale
(una stringa tipo 9f2c…a41e, 64 caratteri per SHA-256). Prendere quella stringa e passarla
a un convertitore Base64 non dà il risultato giusto: si ottiene la codifica del
testo dell'hash, lunga circa 88 caratteri, invece della codifica dei 44 che
rappresentano i 32 byte veri del digest. Il campo va in errore, e il motivo non è evidente.
La conversione va fatta sui byte del digest, non sulla sua rappresentazione in esadecimale. Da riga di comando, su macOS e Linux:
openssl dgst -sha256 -binary documento.pdf | openssl base64 -A
Su Windows, con PowerShell:
[Convert]::ToBase64String(
[System.Security.Cryptography.SHA256]::Create().ComputeHash(
[IO.File]::ReadAllBytes("C:\percorso\documento.pdf")))
Il risultato è una stringa di 44 caratteri che termina con
=: quella va nel campo. Se quello che ottieni è molto più lungo, hai codificato il file
invece della sua impronta.
Per calcolare l'impronta puoi usare il calcolo dell'impronta hash di un file, che lavora nel browser senza caricare nulla; lo strumento qui sotto serve invece quando ti serve davvero il contenuto in Base64 — un allegato, un’immagine dentro un XML, una stringa da incollare.
Si può caricare un file utilizzando l'intuitivo meccanismo drag-and-drop o selezionandolo direttamente, con il supporto per la codifica di file di testo e binari. Il tool fornisce anche la funzionalità per copiare i risultati codificati direttamente negli appunti, semplificando la condivisione dei dati. Per i dati decodificati, è possibile visualizzare direttamente i contenuti nel browser o scaricarli, grazie all'uso di Blob e Data URLs.
Qualora la stringa Base64 dovesse essere sprovvista di Data URL "data:[" il tool decodifica questi attribuendo automaticamente l'estensione corretta al file basandosi sul MIME type
(tipo di media) identificato nel contenuto del file decodificato tramite un endpoint API di acquisizioniforensi.it.