Base64-koodaus

Base64 Encoding -työkalulla voit salata kirjoittamasi tekstin Base64-menetelmällä. Halutessasi voit purkaa salatun Base64-koodin Base64 Decode -työkalulla.

Mikä on Base64-koodaus?

Base64 Encoding on koodausmalli, joka mahdollistaa binääritietojen siirtämisen ympäristöissä, joissa käytetään vain tiettyjä rajoitettuja merkkikoodeja (ympäristöissä, joissa kaikkia merkkikoodeja ei voida käyttää, kuten xml, html, skripti, pikaviestisovellukset). Merkkien määrä tässä mallissa on 64, ja numero 64 sanassa Base64 tulee täältä.

Miksi käyttää Base64-koodausta?

Base64-koodauksen tarve johtuu ongelmista, joita syntyy, kun mediaa siirretään raakabinaarimuodossa tekstipohjaisiin järjestelmiin. Koska tekstipohjaiset järjestelmät (kuten sähköposti) tulkitsevat binääridataa useiksi eri merkiksi, mukaan lukien erikoiskomentomerkit, nämä järjestelmät tulkitsevat suurimman osan siirtovälineelle lähetetystä binääritiedosta väärin ja ne katoavat tai vioituvat lähetyksessä. prosessi.

Eräs menetelmä tällaisen binääridatan koodaamiseksi tavalla, joka välttää tällaiset lähetysongelmat, on lähettää ne tavallisena ASCII-tekstina Base64-koodatussa muodossa. Tämä on yksi MIME-standardin käyttämistä tekniikoista muun tiedon kuin pelkkää tekstiä lähettämiseen. Monet ohjelmointikielet, kuten PHP ja Javascript, sisältävät Base64-koodaus- ja dekoodaustoimintoja Base64-koodauksella lähetetyn tiedon tulkitsemiseksi.

Base64-koodauslogiikka

Base64-koodauksessa 3 * 8 bittiä = 24 bittiä 3 tavusta koostuvaa dataa on jaettu 4 6-bittiseen ryhmään. Näiden 4 6-bittisten ryhmien välillä [0-64] olevia desimaaliarvoja vastaavat merkit yhdistetään Base64-taulukosta koodattavaksi. Base64-koodauksen tuloksena saadun merkkien määrän on oltava 4:n kerrannainen. Koodattu data, joka ei ole neljän kerrannainen, ei ole kelvollista Base64-dataa. Base64-algoritmilla koodattaessa, kun koodaus on valmis, jos datan pituus ei ole 4:n kerrannainen, "=" (yhtä) -merkki lisätään koodauksen loppuun, kunnes se on 4:n kerrannainen. Jos meillä on esimerkiksi 10-merkkinen Base64-koodattu data koodauksen tuloksena, tulee kaksi "=="-merkkiä lisätä loppuun.

Esimerkki Base64-koodauksesta

Otetaan esimerkiksi kolme ASCII-numeroa 155, 162 ja 233. Nämä kolme numeroa muodostavat binäärivirran 100110111010001011101001. Binääritiedosto, kuten kuva, sisältää binäärivirran, joka toimii kymmenille tai sadoille tuhansille nollia ja ykkösiä. Base64-enkooderi aloittaa jakamalla binaarivirran kuuden merkin ryhmiin: 100110 111010 001011 101001. Jokainen näistä ryhmittelyistä käännetään numeroiksi 38, 58, 11 ja 41. Kuuden merkin binäärivirta muunnetaan binääriksi (tai perusmuotoiseksi). 2) desimaalimerkkeihin (kanta-10) neliöimällä jokainen arvo, jota edustaa 1 binääritaulukossa, paikkaneliolla. Alkaen oikealta ja siirryttäessä vasemmalle ja alkaen nollasta, binäärivirran arvot edustavat 2^0, sitten 2^1, sitten 2^2, sitten 2^3, sitten 2^4, sitten 2^ 5.

Tässä on toinen tapa tarkastella sitä. Vasemmalta alkaen jokaisen paikan arvo on 1, 2, 4, 8, 16 ja 32. Jos korttipaikalla on binääriluku 1, lisäät sen arvon; jos korttipaikassa on 0, puuttuu. Binääritaulukko 100110 kääntyy 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 desimaali + 4 + 0 + 0 + 32. Base64-koodaus ottaa tämän binäärimerkkijonon ja jakaa sen 6-bittisiksi arvoiksi 38, 58, 11 ja 41. Lopuksi nämä luvut muunnetaan ASCII-merkeiksi Base64-koodaustaulukon avulla.