Codificatore/Decodificatore Base64
Base64 e uno schema di codifica binario-testo che rappresenta dati binari usando 64 caratteri ASCII. Viene comunemente usato per incorporare dati binari in formati testuali come JSON, XML e URL. Questo strumento decodifica Base64 per rivelare il contenuto originale e rileva automaticamente se il risultato e JSON, XML o altri formati analizzabili.
Specifiche
Casi d'uso comuni
- Decodifica payload API e webhook codificati in Base64
- Ispezione dei dati codificati nei token JWT
- Decodifica allegati email (MIME Base64)
- Debug di messaggi di errore e stack trace codificati
- Visualizzazione dei valori di configurazione codificati nelle variabili d'ambiente
Funzionalità
- Decodifica Base64 standard in testo UTF-8
- Gestione delle varianti Base64 URL-safe (- e _ al posto di + e /)
- Rilevamento automatico del tipo di contenuto decodificato (JSON, XML, ecc.)
- Concatenamento al parser appropriato quando vengono rilevati dati strutturati
- Codifica testo in Base64
- Anteprima immagine per dati binari di immagine decodificati
- Visualizzatore esadecimale per dati binari non UTF-8
- Badge di rilevamento formato (Standard / URL-Safe / Misto)
Esempi
Suggerimenti
- Base64 e una codifica, non una crittografia. Non fornisce alcuna sicurezza.
- Il padding = alla fine puo essere omesso in alcune implementazioni.
- Base64 URL-safe sostituisce + con - e / con _ per evitare problemi di codifica URL.
- Base64 aumenta la dimensione dei dati di circa il 33%.
Approfondimenti Codificatore/Decodificatore Base64
Base64 e uno schema di codifica binario-testo definito nell'RFC 4648 che rappresenta dati binari arbitrari usando 64 caratteri ASCII stampabili (A-Z, a-z, 0-9, +, /) piu il carattere di padding (=). Il suo scopo principale e trasportare dati binari attraverso sistemi basati su testo che potrebbero non gestire correttamente i byte grezzi, come email, payload JSON, documenti XML e parametri URL.
Il processo di codifica prende ogni tre byte (24 bit) di input e li divide in quattro gruppi da 6 bit. Ogni valore a 6 bit corrisponde a uno dei 64 caratteri. Quando la lunghezza dell'input non e un multiplo di tre byte, il padding con uno o due caratteri = riempie l'output fino a un multiplo di quattro caratteri. Questo significa che i dati codificati in Base64 sono circa il 33% piu grandi dell'originale.
Esistono due varianti principali. Il Base64 standard usa + e / ed e utilizzato nella codifica MIME delle email. Il Base64 URL-safe (base64url) sostituisce + con - e / con _ per evitare i caratteri riservati degli URL. I token JWT usano la variante URL-safe senza padding. Alcune implementazioni omettono il padding = finale poiche la lunghezza originale dei dati puo essere dedotta.
Base64 appare ovunque nello sviluppo web. I Data URI incorporano immagini e font in HTML/CSS. I token JWT sono tre segmenti codificati in Base64url. I messaggi SAML sono XML codificati in Base64. Le risposte API possono codificare contenuto binario come Base64 all'interno di JSON. E importante notare che Base64 e una codifica, non una crittografia: non fornisce alcuna sicurezza o riservatezza.
Base64 non e una forma di crittografia e non dovrebbe mai essere trattato come tale. Trasforma i dati in una rappresentazione diversa senza alcuna chiave o segreto, e chiunque puo decodificare una stringa Base64 istantaneamente. Se dati sensibili sono codificati in Base64, sono completamente esposti. Per i dati che devono rimanere segreti, usa algoritmi di crittografia reali come AES o RSA. Il Base64 standard usa + e / come caratteri 62 e 63, mentre il Base64 URL-safe (base64url, definito nella Sezione 5 dell'RFC 4648) li sostituisce con - e _ perche + e / hanno un significato speciale negli URL. I token JWT usano sempre la variante URL-safe senza padding.
I caratteri di padding = assicurano che la lunghezza dell'output codificato sia sempre un multiplo di 4 caratteri. Poiche Base64 codifica 3 byte in 4 caratteri, gli input la cui lunghezza non e un multiplo di 3 necessitano di padding: 1 byte rimanente produce ==, e 2 byte rimanenti producono =. Alcune implementazioni, incluso JWT, omettono completamente il padding poiche il decodificatore puo calcolare la lunghezza originale dalla lunghezza della stringa codificata.
L'aumento del 33% della dimensione e intrinseco alla codifica: ogni 3 byte (24 bit) diventano 4 caratteri ASCII (32 bit), un rapporto di espansione fisso 4/3 che non puo essere ridotto. Se la dimensione e un problema, comprimi i dati prima della codifica. Per grandi risorse binarie, considera meccanismi di trasferimento binario appropriati come upload multipart o frame WebSocket binari piuttosto che incorporare Base64 nei formati testuali.