Base64-kodering

Met die Base64 Encoding-instrument kan jy die teks wat jy invoer met die Base64-metode enkripteer. As jy wil, kan jy die geënkripteerde Base64-kode dekodeer met die Base64 Decode-instrument.

Wat is Base64-kodering?

Base64 Encoding is 'n enkoderingskema wat toelaat dat binêre data vervoer word op omgewings wat slegs sekere beperkte karakterenkoderings gebruik (omgewings waar nie alle karakterkodes gebruik kan word nie, soos xml, html, script, kitsboodskaptoepassings). Die aantal karakters in hierdie skema is 64, en die getal 64 in die woord Base64 kom van hier af.

Waarom Base64-kodering gebruik?

Die behoefte aan Base64-kodering spruit uit probleme wat ontstaan ​​wanneer media in rou binêre formaat na teksgebaseerde stelsels oorgedra word. Omdat teksgebaseerde stelsels (soos e-pos) binêre data as 'n wye reeks karakters interpreteer, insluitend spesiale opdragkarakters, word die meeste van die binêre data wat na die oordragmedium oorgedra word, verkeerd geïnterpreteer deur hierdie stelsels en gaan dit verlore of beskadig in die oordrag proses.

Een metode om sulke binêre data te enkodeer op 'n manier wat sulke oordragprobleme vermy, is om dit as gewone ASCII-teks in Base64-gekodeerde formaat te stuur. Dit is een van die tegnieke wat deur die MIME-standaard gebruik word om data anders as gewone teks te stuur. Baie programmeertale, soos PHP en Javascript, sluit Base64 enkodering en dekodering funksies in om data te interpreteer wat met Base64 enkodering versend is.

Base64 Enkodering Logika

In Base64-kodering word 3 * 8 bisse = 24 bisse data wat uit 3 grepe bestaan, in 4 groepe van 6 bisse verdeel. Die karakters wat ooreenstem met die desimale waardes tussen [0-64] van hierdie 4 6-bis-groepe word van die Base64-tabel ooreenstem om te enkodeer. Die aantal karakters wat as gevolg van Base64-kodering verkry word, moet 'n veelvoud van 4 wees. Geënkodeerde data wat nie 'n veelvoud van 4 is nie, is nie geldige Base64-data nie. Wanneer enkodering met die Base64-algoritme, wanneer die enkodering voltooi is, as die lengte van die data nie 'n veelvoud van 4 is nie, word die "=" (gelyke) karakter bygevoeg aan die einde van die enkodering totdat dit 'n veelvoud van 4 is. Byvoorbeeld, as ons 10-karakter Base64-gekodeerde data het as gevolg van die enkodering, moet twee "==" aan die einde bygevoeg word.

Base64 Enkodering Voorbeeld

Neem byvoorbeeld die drie ASCII-nommers 155, 162 en 233. Hierdie drie getalle vorm 'n binêre stroom van 100110111010001011101001. 'n Binêre lêer soos 'n prent bevat 'n binêre stroom wat vir tiene of honderdduisende nulle en ene werk. 'n Base64-enkodeerder begin deur die binêre stroom in groepe van ses karakters te verdeel: 100110 111010 001011 101001. Elkeen van hierdie groeperings word in nommers 38, 58, 11 en 41 vertaal. 'n Binêre stroom van ses karakters word omgeskakel tussen binêre (of basies). 2) tot desimale (basis-10) karakters deur elke waarde wat verteenwoordig word deur 1 in die binêre skikking deur die posisionele vierkant te kwadraat. Begin van regs en beweeg na links en begin by nul, die waardes in die binêre stroom verteenwoordig 2^0, dan 2^1, dan 2^2, dan 2^3, dan 2^4, dan 2^ 5.

Hier is nog 'n manier om daarna te kyk. Vanaf links is elke posisie 1, 2, 4, 8, 16 en 32 werd. As die gleuf 'n binêre getal 1 het, voeg jy daardie waarde by; as die gleuf 0 het, ontbreek jy. Binêre skikking 100110 draai 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 desimale + 4 + 0 + 0 + 32. Base64-kodering neem hierdie binêre string en verdeel dit in 6-bis waardes 38, 58, 11 en 41. Laastens word hierdie nommers omgeskakel na ASCII-karakters deur die Base64-enkoderingstabel te gebruik.