Encoder / Decoder Base64 Online | Codare & Decodare Text

0 chars
0 chars

Aveți nevoie să convertiți text lizibil în format Base64 pentru utilizare în anteturile HTTP sau, dimpotrivă, să decodificați conținutul unui token API? Encoderul și Decoderul nostru de Text Base64 este un instrument specializat pentru lucrul cu șiruri de text, care gestionează și particularități precum diacriticele sau caracterele speciale.

Lucrați cu imagini?
Dacă codul dumneavoastră începe cu data:image/png... sau doriți să convertiți un fișier în text, acest instrument vă va afișa doar caractere fără sens. Utilizați instrumentul nostru specializat pentru imagini.

Cum funcționează formatul Base64?

Multe persoane folosesc Base64 zilnic, dar puțini știu cum funcționează “sub capotă”. Nu este magie, ci matematică simplă cu biți.

Textul obișnuit într-un computer este stocat pe 8 biți (1 octet). Base64, însă, folosește un “alfabet” de 64 de caractere (A-Z, a-z, 0-9, +, /). Deoarece 2^6 = 64, un caracter Base64 reprezintă exact 6 biți de informație.

Procesul de conversie (Algoritmul):

  1. Se iau trei caractere din textul dumneavoastră (3 × 8 biți = 24 biți).
  2. Acești 24 de biți sunt împărțiți în patru grupuri de câte 6 biți.
  3. Fiecărui grup i se atribuie un caracter din tabelul Base64.

Concluzie: Deoarece transformăm 3 caractere în 4 caractere, șirul Base64 rezultat este întotdeauna aproximativ cu 33 % mai lung decât textul original.

Problema setului de caractere: De ce convertoarele obișnuite Base64 distrug caracterele non-ASCII?

Dacă ați încercat vreodată să codificați un cuvânt cu diacritice (ex. “Kůň” sau un cuvânt românesc precum “Mâncare”) în consola browserului folosind funcția btoa('...'), probabil ați primit o eroare: String contains characters outside of the Latin1 range.

Base64 a fost inițial proiectat pentru caractere ASCII pe 7 biți. Însă, caracterele românești, emoji-urile și alte simboluri speciale (UTF-8) ocupă mai mulți octeți în memorie (caractere multi-octet).

  • Litera a = 1 octet.
  • Litera ă = 2 octeți.
  • Emoji 🚀 = 4 octeți.

Instrumentul nostru rezolvă această problemă. Înainte de codificarea propriu-zisă în Base64, convertim corect textul într-o secvență de octeți UTF-8. Astfel, puteți codifica în siguranță obiecte JSON, texte românești și simboluri moderne fără riscul de deteriorare a datelor.

Unde se folosește codificarea textului Base64?

În timp ce imaginile Base64 sunt utilizate în principal pentru încorporarea în CSS/HTML, textul Base64 are o utilizare complet diferită în sistemele backend:

1. Autentificare HTTP Basic

Când vă conectați la un API, antetul arată adesea astfel: Authorization: Basic dXppdmF0ZWw6aGVzbG8= În spatele acestui cod se ascunde pur și simplu un nume de utilizator și o parolă combinate în formatul utilizator:parolă. Instrumentul nostru vă permite să generați sau să verificați cu ușurință aceste anteturi.

2. Tokenuri Web JSON (JWT)

Aplicațiile web moderne utilizează așa-numitele JWT pentru autentificare. Un astfel de token arată ca trei șiruri lungi separate prin puncte. Partea cu date (Payload) este un obiect JSON obișnuit codificat în Base64.

  • Sfat: Încercați să introduceți aici partea din mijloc a tokenului dumneavoastră JWT și să o decodificați. Veți vedea exact ce date înregistrează aplicația despre dumneavoastră (de exemplu, ID utilizator, expirare).

3. Fișiere de Configurare (Secret-uri Kubernetes)

Platforme precum Kubernetes stochează date secrete (Secrets) în fișiere de configurare YAML folosind Base64. Nu este vorba de criptare, ci de o modalitate de a stoca date binare sau text cu caractere problematice (rânduri noi, ghilimele) într-un fișier text.

Ce este “codificarea Base64 sigură pentru URL” și de ce contează?

Alfabetul standard Base64 conține caracterele + (plus) și / (slash). Ambele caractere au o semnificație specială în adresele URL:

  • / separă directoarele.
  • + este adesea interpretat ca un spațiu.

Dacă ați trimite un Base64 standard într-un parametru URL (de exemplu, site.com?token=ab/cd+ef), serverul ar putea interpreta greșit datele.

Soluția (Mod URL Safe): Comutatorul nostru activează varianta Base64URL (conform RFC 4648), care efectuează aceste modificări:

  • + se schimbă în - (liniuță).
  • / se schimbă în _ (subliniere).
  • La sfârșit, caracterele = (padding) sunt eliminate, deoarece nu sunt necesare în URL.

Mit: Base64 nu este criptare!

Este important să înțelegeți o diferență fundamentală pe care începătorii o confundă adesea:

  1. Codificare (Encoding - Base64): Servește pentru transferul datelor. Este ca și cum ai împacheta un obiect într-o valiză pentru a nu se sparge pe drum. Oricine găsește valiza o poate deschide (decodifica) și vedea conținutul. Nu este sigur pentru date secrete.
  2. Criptare (Encryption - AES, RSA): Blochează datele cu o cheie. Fără cheie, nu puteți accesa conținutul.
  3. Hashare (Hashing - SHA, MD5): Un proces unidirecțional (de exemplu, pentru stocarea parolelor). Din rezultat nu se poate obține textul original.

Dacă trebuie să trimiteți o parolă sau o informație sensibilă, Base64 singur nu este suficient. Trebuie să utilizați HTTPS (SSL/TLS), care criptează transferul.


Întrebări Frecvente (FAQ)

Ce înseamnă caracterele "=" la sfârșitul șirului? Acesta este așa-numitul "padding". Deoarece Base64 codifică datele în grupuri de 3 caractere, se poate întâmpla ca lungimea textului original să nu fie divizibilă cu trei. Caracterele `=` sunt adăugate la sfârșit pentru ca decodorul să știe câți biți trebuie să ignore la final.
De ce textul decodificat apare ca un "haos de caractere"? Probabil încercați să decodificați date care nu sunt text. Dacă un șir Base64 reprezintă un fișier comprimat (ZIP), o imagine sau date criptate, conversia în text (UTF-8) nu are sens. Încercați să identificați sursa datelor.
Funcționează instrumentul offline? Da. Toată logica de conversie este scrisă în JavaScript și rulează direct în browserul dumneavoastră. Odată ce pagina este încărcată, vă puteți deconecta de la internet și instrumentul va funcționa în continuare. Datele dumneavoastră nu sunt trimise nicăieri.