Codificare și decodificare Base64
Codifică și decodifică Base64 gratuit, cu suport complet UTF-8 și opțiunea base64url pentru URL. Funcționează în browser, nimic nu este încărcat.
Cum folosești instrumentul de codificare și decodificare Base64
- Alege dacă vrei să codifici text în Base64 sau să decodifici Base64 înapoi în text.
- Scrie sau lipește datele în caseta de text. Literele cu diacritice, alfabetele non-latine și emoji-urile sunt toate acceptate.
- Dacă rezultatul va fi folosit într-un URL, într-un nume de fișier sau într-un JSON Web Token, activează opțiunea Sigur pentru URL (base64url), ca să obții varianta base64url.
- Citește rezultatul și copiază-l. Dacă decodifici și datele nu sunt Base64 valid, un mesaj de eroare îți spune asta, în loc să producă caractere fără sens.
Ce este Base64?
Base64 este o metodă de a reprezenta octeți oarecare folosind doar 64 de caractere ASCII imprimabile: literele mari A–Z, literele mici a–z, cifrele 0–9 și cele două simboluri + și /. Caracterul = se folosește ca umplutură la final. Există pentru că multe sisteme au fost proiectate să transporte text, nu date binare brute. Corpul mesajelor de e-mail, antetele HTTP, documentele XML și JSON și URL-urile de date așteaptă caractere care supraviețuiesc copierii, înregistrării și transmiterii fără să fie alterate.
Algoritmul lucrează pe grupuri de trei octeți (24 de biți) și îi împarte în patru valori de 6 biți, fiecare corespunzând unuia dintre cele 64 de caractere. De aceea rezultatul Base64 este întotdeauna cu aproximativ 33% mai mare decât intrarea: fiecare 3 octeți devin 4 caractere. Când lungimea intrării nu este multiplu de trei, se adaugă unul sau două semne =, astfel încât lungimea rezultatului să fie multiplu de patru. De exemplu, cuvântul Hi se codifică SGk=, iar Hello devine SGVsbG8=.
Text, octeți și UTF-8
Base64 codifică octeți, nu caractere, așa că textul trebuie mai întâi transformat în octeți. Instrumentul folosește UTF-8, codificarea aproape tuturor paginilor web și API-urilor moderne. Asta înseamnă că café devine Y2Fmw6k=, iar un emoji precum 👍 (patru octeți în UTF-8) este codificat corect și revine la același emoji la decodificare. Multe scripturi rapide care se bazează pe vechea funcție btoa() din browser eșuează la orice în afara setului Latin-1; acest instrument nu are limitarea respectivă.
Base64 standard și base64url
Base64 standard folosește + și /, care au sensuri speciale în URL-uri și în căile de fișiere. Varianta sigură pentru URL, numită base64url, înlocuiește + cu - și / cu _ și, de obicei, renunță la umplutura =. Este formatul folosit în JSON Web Tokens (JWT), în mulți parametri OAuth și în serviciile de scurtare a linkurilor. Activează opțiunea Sigur pentru URL (base64url) când ai nevoie de acest format și las-o dezactivată pentru atașamente de e-mail, URL-uri de date sau fișiere de configurare care așteaptă Base64 standard.
Base64 nu este criptare
Aceasta este cea mai frecventă neînțelegere. Base64 este o codificare: nu are cheie și nu are secret, iar oricine o poate inversa instantaneu. Codificarea unei parole, a unei chei API sau a unor date personale în Base64 nu le protejează în niciun fel. Autentificarea HTTP Basic, de exemplu, trimite utilizator:parolă în Base64, motiv pentru care trebuie folosită doar prin HTTPS. Dacă ai nevoie de confidențialitate, folosește criptare reală (precum AES) sau un hash de parolă (precum Argon2 sau bcrypt), nu Base64.
Confidențialitate
Toată codificarea și decodificarea se face local, în browserul tău, cu JavaScript. Textul introdus nu este trimis către un server, nu este stocat și nu este înregistrat, deci poți inspecta fără griji token-uri sau valori de configurare. Instrumentul lucrează doar cu text; nu acceptă încărcarea de fișiere.
Întrebări frecvente
De ce textul decodificat arată ca niște simboluri aleatorii?
Probabil șirul Base64 reprezintă date binare, de exemplu o imagine, un fișier comprimat sau conținut criptat, nu text. Decodificarea produce octeți valizi, dar ei nu formează text UTF-8 cu sens. Se poate întâmpla și dacă textul original a fost codificat cu un alt set de caractere decât UTF-8.
De ce spune instrumentul că Base64-ul meu este invalid?
Base64 valid conține doar cele 64 de caractere permise, plus eventual umplutura =, iar lungimea lui trebuie să respecte gruparea în 4 caractere. Cauze frecvente sunt caractere în plus copiate din greșeală, un șir trunchiat sau un șir base64url (cu - și _) decodificat fără opțiunea pentru URL activată.
Pot codifica imagini sau alte fișiere?
Nu. Instrumentul este conceput doar pentru text. Pentru a încorpora o imagine în HTML sau CSS ai nevoie de un instrument care citește octeții bruți ai fișierului și produce un URL de date.
Este Base64 sigur pentru stocarea parolelor?
Nu. Base64 poate fi decodificat de oricine într-o fracțiune de secundă. Parolele trebuie stocate cu un algoritm de hash lent și dedicat, precum Argon2, scrypt sau bcrypt.
Care este diferența dintre Base64 cu umplutură și fără umplutură?
Umplutura cu = face doar ca lungimea rezultatului să fie multiplu de patru și nu poartă nicio informație. Majoritatea decodoarelor pot reconstitui datele și fără ea. base64url omite de obicei umplutura, deoarece = este el însuși un caracter rezervat în URL-uri.
Instrumente similare
- Codificare și decodare URL Codificare și decodare URL gratuită. Codifică procentual parametri sau URL-uri complete, decodează secvențe %XX și tratează + ca spațiu, în browserul tău.
- Formatare și validare JSON Formatator și validator JSON gratuit, care înfrumusețează, minifică și verifică JSON în browser, cu erori de sintaxă raportate pe linie și coloană.
- Generator UUID Generator UUID gratuit pentru versiunile 4 și 7. Creează până la 1.000 deodată, cu majuscule sau fără cratime, apoi copiază sau descarcă ca .txt.