Codificació Base64

Amb l'eina de codificació Base64, podeu xifrar el text que introduïu amb el mètode Base64. Si ho desitja, podeu descodificar el codi Base64 xifrat amb l'eina de descodificació Base64.

Què és la codificació Base64?

La codificació Base64 és un esquema de codificació que permet transportar dades binàries en entorns que només utilitzen algunes codificacions de caràcters restringides (entorns on no es poden utilitzar tots els codis de caràcters, com ara xml, html, script, aplicacions de missatgeria instantània). El nombre de caràcters d'aquest esquema és 64, i el número 64 de la paraula Base64 prové d'aquí.

Per què utilitzar la codificació Base64?

La necessitat de la codificació Base64 sorgeix dels problemes que sorgeixen quan els mitjans es transmeten en format binari brut a sistemes basats en text. Com que els sistemes basats en text (com el correu electrònic) interpreten les dades binàries com una àmplia gamma de caràcters, inclosos els caràcters d'ordres especials, la majoria de les dades binàries transmeses al mitjà de transferència són malinterpretades per aquests sistemes i es perden o es corrompeixen en la transmissió. procés.

Un mètode per codificar aquestes dades binàries d'una manera que eviti aquests problemes de transmissió és enviar-les com a text ASCII senzill en format codificat Base64. Aquesta és una de les tècniques utilitzades per l'estàndard MIME per enviar dades que no siguin text sense format. Molts llenguatges de programació, com PHP i Javascript, inclouen funcions de codificació i descodificació Base64 per interpretar les dades transmeses mitjançant la codificació Base64.

Lògica de codificació Base64

En la codificació Base64, 3 * 8 bits = 24 bits de dades que consisteixen en 3 bytes es divideixen en 4 grups de 6 bits. Els caràcters corresponents als valors decimals entre [0-64] d'aquests 4 grups de 6 bits coincideixen a partir de la taula Base64 per codificar. El nombre de caràcters obtinguts com a resultat de la codificació Base64 ha de ser múltiple de 4. Les dades codificades que no siguin múltiple de 4 no són dades Base64 vàlides. Quan es codifica amb l'algoritme Base64, quan la codificació s'ha completat, si la longitud de les dades no és múltiple de 4, el caràcter "=" (igual) s'afegeix al final de la codificació fins que és múltiple de 4. Per exemple, si tenim dades codificades en Base64 de 10 caràcters com a resultat de la codificació, s'han d'afegir dos "==" al final.

Exemple de codificació Base64

Per exemple, agafeu els tres números ASCII 155, 162 i 233. Aquests tres nombres formen un flux binari de 100110111010001011101001. Un fitxer binari, com ara una imatge, conté un flux binari que funciona per desenes o centenars de milers de zeros i uns. Un codificador Base64 comença dividint el flux binari en grups de sis caràcters: 100110 111010 001011 101001. Cadascun d'aquests agrupaments es tradueix als números 38, 58, 11 i 41. Un flux binari de sis caràcters es converteix entre binari (o bàsic). 2) a caràcters decimals (base 10) quadratant cada valor representat per 1 a la matriu binària pel quadrat posicional. Començant per la dreta i movent-nos cap a l'esquerra i començant a zero, els valors del flux binari representen 2^0, després 2^1, després 2^2, després 2^3, després 2^4, després 2^ 5.

Aquí hi ha una altra manera de mirar-ho. Començant per l'esquerra, cada posició val 1, 2, 4, 8, 16 i 32. Si la ranura té un número binari 1, afegiu aquest valor; si la ranura té 0, estàs a faltar. Matriu binària 100110 torns 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 decimal + 4 + 0 + 0 + 32. La codificació Base64 pren aquesta cadena binària i la divideix en valors de 6 bits 38, 58, 11 i 41. Finalment, aquests números es converteixen en caràcters ASCII mitjançant la taula de codificació Base64.