Kódovanie Base64

Pomocou nástroja Base64 Encoding môžete zašifrovať text pomocou metódy Base64. Ak chcete, môžete dekódovať zašifrovaný kód Base64 pomocou nástroja Base64 Decode.

Čo je kódovanie Base64?

Kódovanie Base64 je schéma kódovania, ktorá umožňuje prenos binárnych údajov v prostrediach, ktoré používajú iba niektoré obmedzené kódovanie znakov (prostredia, kde nie je možné použiť všetky kódy znakov, ako napríklad xml, html, skript, aplikácie na odosielanie okamžitých správ). Počet znakov v tejto schéme je 64 a odtiaľ pochádza číslo 64 v slove Base64.

Prečo používať kódovanie Base64?

Potreba kódovania Base64 pramení z problémov, ktoré vznikajú pri prenose médií v surovom binárnom formáte do textových systémov. Pretože textové systémy (napríklad e-mail) interpretujú binárne údaje ako široký rozsah znakov vrátane špeciálnych príkazových znakov, väčšina binárnych údajov prenášaných na prenosové médium je týmito systémami nesprávne interpretovaná a pri prenose sa stratia alebo poškodia. proces.

Jednou z metód kódovania takýchto binárnych údajov spôsobom, ktorý zabraňuje takýmto problémom s prenosom, je poslať ich ako obyčajný text ASCII v kódovanom formáte Base64. Toto je jedna z techník používaných štandardom MIME na odosielanie údajov iných ako obyčajný text. Mnohé programovacie jazyky, ako napríklad PHP a Javascript, obsahujú funkcie kódovania a dekódovania Base64 na interpretáciu údajov prenášaných pomocou kódovania Base64.

Logika kódovania Base64

V kódovaní Base64 je 3 * 8 bitov = 24 bitov dát pozostávajúcich z 3 bajtov rozdelených do 4 skupín po 6 bitoch. Znaky zodpovedajúce desiatkovým hodnotám medzi [0-64] týchto 4 6-bitových skupín sa zhodujú z tabuľky Base64 na kódovanie. Počet znakov získaných kódovaním Base64 musí byť násobkom 4. Zakódované údaje, ktoré nie sú násobkom 4, nie sú platnými údajmi Base64. Pri kódovaní pomocou algoritmu Base64, keď je kódovanie dokončené, ak dĺžka údajov nie je násobkom 4, znak "=" (rovná sa) sa pridáva na koniec kódovania, kým nie je násobkom 4. Napríklad, ak máme v dôsledku kódovania 10-znakové dáta kódované Base64, na koniec by sa mali pridať dva "==".

Príklad kódovania Base64

Vezmime si napríklad tri ASCII čísla 155, 162 a 233. Tieto tri čísla tvoria binárny tok 100110111010001011101001. Binárny súbor, ako napríklad obrázok, obsahuje binárny prúd, ktorý funguje pre desiatky alebo stovky tisíc núl a jednotiek. Kódovač Base64 začína rozdelením binárneho toku do skupín po šiestich znakoch: 100110 111010 001011 101001. Každé z týchto zoskupení je preložené na čísla 38, 58, 11 a 41. Šesťznakový binárny tok sa prevádza medzi binárnymi (alebo základnými). 2) na desatinné (základ-10) znaky odmocnením každej hodnoty reprezentovanej 1 v binárnom poli pozičným štvorcom. Počnúc sprava a smerom doľava a počnúc nulou, hodnoty v binárnom toku predstavujú 2^0, potom 2^1, potom 2^2, potom 2^3, potom 2^4, potom 2^ 5.

Tu je ďalší spôsob, ako sa na to pozrieť. Počnúc zľava, každá pozícia má hodnotu 1, 2, 4, 8, 16 a 32. Ak má slot binárne číslo 1, pridáte túto hodnotu; ak má slot 0, chýbate. Binárne pole 100110 otočí 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 desatinné + 4 + 0 + 0 + 32. Kódovanie Base64 preberá tento binárny reťazec a rozdeľuje ho na 6-bitové hodnoty 38, 58, 11 a 41. Nakoniec sa tieto čísla skonvertujú na znaky ASCII pomocou tabuľky kódovania Base64.