Codificare Base64

Cu instrumentul de codificare Base64, puteți cripta textul pe care îl introduceți cu metoda Base64. Dacă doriți, puteți decoda codul criptat Base64 cu instrumentul Base64 Decode.

Ce este codificarea Base64?

Codificarea Base64 este o schemă de codare care permite transportarea datelor binare în medii care utilizează doar unele codificări restrictive de caractere (medii în care nu pot fi utilizate toate codurile de caractere, cum ar fi xml, html, script, aplicații de mesagerie instantanee). Numărul de caractere din această schemă este 64, iar numărul 64 din cuvântul Base64 provine de aici.

De ce să folosiți codificarea Base64?

Nevoia de codificare Base64 provine din problemele care apar atunci când media este transmisă în format binar brut către sisteme bazate pe text. Deoarece sistemele bazate pe text (cum ar fi e-mailul) interpretează datele binare ca o gamă largă de caractere, inclusiv caractere de comandă speciale, majoritatea datelor binare transmise către mediul de transfer sunt interpretate greșit de aceste sisteme și sunt pierdute sau corupte în transmisie. proces.

O metodă de a codifica astfel de date binare într-un mod care să evite astfel de probleme de transmisie este să le trimiteți ca text simplu ASCII în format codificat Base64. Aceasta este una dintre tehnicile utilizate de standardul MIME pentru a trimite alte date decât text simplu. Multe limbaje de programare, cum ar fi PHP și Javascript, includ funcții de codificare și decodare Base64 pentru a interpreta datele transmise folosind codificarea Base64.

Logica de codare Base64

În codificarea Base64, 3 * 8 biți = 24 de biți de date constând din 3 octeți sunt împărțiți în 4 grupuri de 6 biți. Caracterele corespunzătoare valorilor zecimale dintre [0-64] ale acestor 4 grupuri de 6 biți sunt potrivite din tabelul Base64 pentru a fi codificate. Numărul de caractere obținut ca urmare a codificării Base64 trebuie să fie un multiplu de 4. Datele codificate care nu sunt multiplu de 4 nu sunt date Base64 valide. La codificarea cu algoritmul Base64, când codificarea este completă, dacă lungimea datelor nu este un multiplu de 4, caracterul „=" (egal) este adăugat la sfârșitul codificării până când este un multiplu de 4. De exemplu, dacă avem date codificate Base64 de 10 caractere ca urmare a codificării, ar trebui adăugate două „==" la sfârșit.

Exemplu de codificare Base64

De exemplu, luați cele trei numere ASCII 155, 162 și 233. Aceste trei numere formează un flux binar de 100110111010001011101001. Un fișier binar, cum ar fi o imagine, conține un flux binar care funcționează pentru zeci sau sute de mii de zerouri și unu. Un encoder Base64 începe prin împărțirea fluxului binar în grupuri de șase caractere: 100110 111010 001011 101001. Fiecare dintre aceste grupări este tradusă în numerele 38, 58, 11 și 41. Un flux binar de șase caractere este convertit între binar (sau de bază). 2) la caractere zecimale (de bază 10) prin pătrarea fiecărei valori reprezentate de 1 în tabloul binar cu pătratul pozițional. Pornind de la dreapta și deplasându-se la stânga și începând de la zero, valorile din fluxul binar reprezintă 2^0, apoi 2^1, apoi 2^2, apoi 2^3, apoi 2^4, apoi 2^ 5.

Iată un alt mod de a-l privi. Începând din stânga, fiecare poziție valorează 1, 2, 4, 8, 16 și 32. Dacă slotul are un număr binar 1, adăugați acea valoare; dacă slotul are 0, lipsești. Matrice binară 100110 rândurile 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 zecimal + 4 + 0 + 0 + 32. Codificarea Base64 preia acest șir binar și îl împarte în valori de 6 biți 38, 58, 11 și 41. În cele din urmă, aceste numere sunt convertite în caractere ASCII utilizând tabelul de codificare Base64.