Base64 Kodlamak

Base64 kodlamak guraly bilen, girizen tekstiňizi Base64 usuly bilen şifrläp bilersiňiz. Isleseňiz, şifrlenen Base64 koduny Base64 Dekod guraly bilen kodlap bilersiňiz.

Base64 kodlamak näme?

Base64 kodlamak, ikitaraplaýyn maglumatlary diňe käbir çäklendirilen nyşan kodlamalaryny ulanýan şertlerde daşamaga mümkinçilik berýän kodlaýyş shemasydyr (xml, html, skript, gyssagly habarlaşma programmalary ýaly hemme nyşan kodlaryny ulanyp bolmaýan şertler). Bu shemadaky nyşanlaryň sany 64, Base64 sözündäki 64 belgisi bolsa şu ýerden gelýär.

Näme üçin Base64 kodlamagy ulanmaly?

Base64 kodlamagyň zerurlygy, köpçülikleýin habar beriş serişdeleri çig ikilik formatda tekst esasly ulgamlara geçirilende ýüze çykýan kynçylyklardan gelip çykýar. Tekst esasly ulgamlar (e-poçta ýaly) ikitaraplaýyn maglumatlary ýörite buýruk nyşanlaryny goşmak bilen köp sanly nyşan hökmünde düşündirýändigi sebäpli, geçiriş gurşawyna iberilýän ikili maglumatlaryň köpüsi bu ulgamlar tarapyndan ýalňyş düşündirilýär we geçirişde ýitirilýär ýa-da zaýalanýar. prosesi.

Şeýle ikitaraplaýyn maglumatlary şunuň ýaly geçiriş problemalaryndan gaça durmak üçin kodlamagyň bir usuly, olary Base64 kodlanan formatda ýönekeý ASCII tekst görnüşinde ibermekdir. Bu, MIME standartynyň ýönekeý tekstden başga maglumatlary ibermek üçin ulanýan usullaryndan biridir. PHP we Javascript ýaly köp sanly programma dilleri, Base64 kodlamagy ulanyp berlen maglumatlary düşündirmek üçin Base64 kodlamak we kodlamak funksiýalaryny öz içine alýar.

Base64 kodlamagyň logikasy

Base64 kodlamasynda 3 * 8 bit = 3 bitden ybarat 24 bit maglumat 6 bitden 4 topara bölünýär. Bu 4 6 bitli toparyň [0-64] arasyndaky onluk bahalara gabat gelýän nyşanlar, kodlamak üçin Base64 tablisasyndan gabat gelýär. Base64 kodlamagy netijesinde alnan nyşanlaryň sany 4-den köp bolmaly. 4-den köp bolmadyk kodlanan maglumatlar Base64 maglumatlary dogry däl. Base64 algoritmi bilen kodlananda, kodlamak gutaransoň, maglumatlaryň uzynlygy 4-den köp bolmasa, kodlamagyň soňuna "=" (deň) nyşan 4-den köp bolýança goşulýar. Mysal üçin, kodlamagyň netijesinde 10 belgili Base64 kodlanan maglumatlary bar bolsa, soňuna iki "==" goşulmaly.

Base64 kodlamagyň mysaly

Mysal üçin, 155, 162 we 233 üç sany ASCII belgisini alyň. Bu üç san 100110111010001011101001 ikilik akymyny emele getirýär. Surat ýaly ikili faýlda onlarça ýa-da ýüzlerçe müň nol we şolar üçin işleýän ikilik akymy bar. Base64 kodlaýjy, ikilik akymyny alty simwoldan ybarat toparlara bölmekden başlaýar: 100110 111010 001011 101001. Bu toparlaryň her biri 38, 58, 11 we 41 sanlara terjime edilýär. Alty simwolly ikilik akymy ikilik (ýa-da esasy) arasynda öwrülýär. 2) ikilik massiwinde pozisiýa kwadraty bilen 1 bilen görkezilen her bir bahany bölmek bilen onluk (esasy-10) nyşanlary. Sagdan başlap, çepe hereket etmek we noldan başlamak, ikilik akymdaky bahalar 2 ^ 0, soň 2 ^ 1, soň 2 ^ 2, soň 2 ^ 3, soň 2 ^ 4, soň 2 ^ 5.

Ine, oňa seretmegiň başga bir usuly. Çepden başlap, her pozisiýa 1, 2, 4, 8, 16 we 32-e deňdir. Oteriň ikilik belgisi 1 bolsa, şol bahany goşarsyňyz; ýeri 0 bolsa, ýitirim bolarsyňyz. Ikilik massiw 100110 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 onluk + 4 + 0 + 0 + 32. Base64 kodlamagy bu ikili setiri alýar we ony 38, 58, 11 we 41 bitli bahalara bölýär. Ahyrynda bu sanlar Base64 kodlaýyş tablisasyny ulanyp ASCII nyşanlara öwrüler.