Explicație
Cum funcționează Codificator Base64
Base64 este o metodă de codificare (definită în RFC 4648) care transformă secvențe de octeți într-o secvență de 64 de caractere ASCII imprimabile (A-Z, a-z, 0-9, +, /). Codifică câte 3 octeți (24 de biți) în 4 caractere (câte 6 biți) și folosește = drept padding la final.
Aplicațiile tipice sunt atașamentele de e-mail (MIME, RFC 2045), data URL-urile pentru imagini (data:image/png;base64,...), token-urile JWT, certificatele PEM, HTTP Basic Authentication, API-urile JSON și fișierele de configurare. Acest instrument procesează însă doar text UTF-8, nu fișiere sau date binare arbitrare. Ieșirea necesită patru caractere pentru fiecare grup început de trei octeți de intrare; paddingul afectează intrările scurte.
Important: Base64 nu este criptare. Codificarea poate fi anulată de oricine fără cheie. Datele codificate Base64 sunt la fel de lizibile ca textul original — doar reprezentate în alt format.
Greșeli frecvente
- Confundarea Base64 cu criptarea: Base64 nu oferă nicio securitate. Oricine poate decodifica textul codificat fără cheie. Pentru confidențialitate folosește criptare reală (AES, ChaCha20).
- Uitarea caracterelor nesigure pentru URL: Base64 standard conține + și /, care au semnificație specială în URL-uri. Pentru contexte URL folosește Base64URL (cu - și _) sau codificare URL.
- Confundarea caracterelor text cu octeții: Caracterele Unicode pot ocupa mai mulți octeți UTF-8; de aceea lungimea ieșirii nu poate fi dedusă din numărul de caractere JavaScript.
- „Ascunderea” datelor sensibile în Base64: Codificarea parolelor, cheilor API sau datelor personale în Base64 nu oferă protecție. În jurnale, URL-uri sau configurări sunt lizibile trivial.
Limitele acestui instrument
- Fără confidențialitate — Base64 este lizibil, nu criptat.
- Patru caractere de ieșire pentru fiecare grup început de trei octeți de intrare; paddingul afectează intrările scurte.
- Doar intrare/ieșire text — fără codificare de fișiere (imagini, PDF-uri etc.).
- Fără mod Base64URL (RFC 4648 §5) — doar Base64 standard cu + și /.
- Decodificarea datelor binare (non-UTF-8) eșuează, deoarece este acceptată doar ieșirea text.
Surse
- RFC 4648: The Base16, Base32, and Base64 Data Encodings. IETF, 2006. Definește Base64 standard și Base64URL.
- RFC 2045: MIME Part One — Format of Internet Message Bodies. Definește Base64 pentru atașamente de e-mail (Content-Transfer-Encoding).
- WHATWG HTML Standard: Definiția btoa() și atob() pentru conversiile Base64 în browser.
- WHATWG Encoding Standard: Definiția TextEncoder, UTF-8 și a decodificării fatale TextDecoder.