„Base64“ Kodavimas

Naudodami „Base64 Encoding“ įrankį galite užšifruoti įvestą tekstą naudodami „Base64“ metodą. Jei norite, galite iššifruoti užšifruotą „Base64“ kodą naudodami „Base64 Decode“ įrankį.

Kas yra „Base64“ kodavimas?

„Base64 Encoding“ yra kodavimo schema, leidžianti perkelti dvejetainius duomenis į aplinkas, kuriose naudojamos tik tam tikros ribotos simbolių koduotės (aplinkos, kuriose galima naudoti ne visus simbolių kodus, pvz., xml, html, scenarijų, momentinių pranešimų programos). Simbolių skaičius šioje schemoje yra 64, o skaičius 64 žodyje Base64 kilęs iš čia.

Kodėl verta naudoti „Base64“ kodavimą?

„Base64“ kodavimo poreikis kyla dėl problemų, kylančių, kai laikmena neapdorotu dvejetainiu formatu perduodama į teksto sistemas. Kadangi tekstinės sistemos (pvz., el. paštas) dvejetainius duomenis interpretuoja kaip daugybę simbolių, įskaitant specialius komandų simbolius, daugumą dvejetainių duomenų, perduodamų į perdavimo laikmeną, šios sistemos neteisingai interpretuoja ir perduodant jie prarandami arba sugadinami. procesas.

Vienas iš tokių dvejetainių duomenų kodavimo būdų, kad būtų išvengta tokių perdavimo problemų, yra siųsti juos kaip paprastą ASCII tekstą Base64 koduotu formatu. Tai vienas iš MIME standarto naudojamų metodų duomenims, išskyrus paprastą tekstą, siųsti. Daugelyje programavimo kalbų, tokių kaip PHP ir Javascript, yra Base64 kodavimo ir dekodavimo funkcijos, skirtos duomenims, perduodamiems naudojant Base64 koduotę, interpretuoti.

„Base64“ kodavimo logika

„Base64“ koduotėje 3 * 8 bitai = 24 bitai duomenų, susidedančių iš 3 baitų, yra suskirstyti į 4 grupes po 6 bitus. Simboliai, atitinkantys dešimtaines reikšmes tarp [0–64] iš šių 4 6 bitų grupių, yra suderinami iš „Base64“ lentelės, kad būtų koduojama. Simbolių skaičius, gautas naudojant Base64 kodavimą, turi būti 4 kartotinis. Užkoduoti duomenys, kurie nėra 4 kartotiniai, nėra galiojantys „Base64“ duomenys. Koduojant su Base64 algoritmu, kai kodavimas baigtas, jei duomenų ilgis nėra kartotinis iš 4, kodavimo pabaigoje pridedamas simbolis "=" (lygus), kol jis bus 4 kartotinis. Pavyzdžiui, jei dėl kodavimo turime 10 simbolių „Base64“ užkoduotus duomenis, pabaigoje reikia pridėti du „==“.

„Base64“ kodavimo pavyzdys

Pavyzdžiui, paimkite tris ASCII numerius 155, 162 ir 233. Šie trys skaičiai sudaro dvejetainį 100110111010001011101001 srautą. Dvejetainiame faile, pavyzdžiui, paveikslėlyje, yra dvejetainis srautas, kuris veikia dešimtims ar šimtams tūkstančių nulių ir vienetų. „Base64“ koduotuvas pradeda padalyti dvejetainį srautą į šešių simbolių grupes: 100110 111010 001011 101001. Kiekviena iš šių grupių paverčiama skaičiais 38, 58, 11 ir 41. Šešių simbolių dvejetainis srautas konvertuojamas į dvejetainį (arba pagrindinį). 2) iki dešimtainių (10 bazinių) simbolių, kiekvieną dvejetainiame masyve pavaizduotą reikšmę 1 padalijus į pozicinį kvadratą. Pradedant iš dešinės ir judant į kairę ir pradedant nuo nulio, dvejetainio srauto reikšmės reiškia 2^0, tada 2^1, tada 2^2, tada 2^3, tada 2^4, tada 2^ 5.

Štai dar vienas būdas į tai pažvelgti. Pradedant nuo kairės, kiekviena pozicija yra verta 1, 2, 4, 8, 16 ir 32. Jei lizdas turi dvejetainį skaičių 1, pridedate šią reikšmę; jei lizdas turi 0, jūsų trūksta. Dvejetainis masyvas 100110 pasukamas 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 dešimtainiai + 4 + 0 + 0 + 32. Base64 kodavimas paima šią dvejetainę eilutę ir padalija ją į 6 bitų reikšmes 38, 58, 11 ir 41. Galiausiai šie skaičiai konvertuojami į ASCII simbolius naudojant „Base64“ kodavimo lentelę.