Base64 кодчилол

Base64 Encoding хэрэглүүрийн тусламжтайгаар та Base64 аргаар оруулсан текстээ шифрлэх боломжтой. Хэрэв та хүсвэл Base64 код тайлах хэрэгслээр шифрлэгдсэн Base64 кодыг тайлж болно.

Base64 кодчилол гэж юу вэ?

Base64 кодчилол нь зөвхөн зарим хязгаарлагдмал тэмдэгт кодчилол (xml, html, скрипт, шуурхай мессежийн програмууд гэх мэт бүх тэмдэгтийн кодыг ашиглах боломжгүй орчин) ашигладаг орчинд хоёртын өгөгдлийг зөөвөрлөх боломжийг олгодог кодчиллын схем юм. Энэ схемийн тэмдэгтүүдийн тоо 64 бөгөөд Base64 үгийн 64 тоо эндээс гаралтай.

Яагаад Base64 кодчилолыг ашиглах хэрэгтэй вэ?

Base64 кодчилолын хэрэгцээ нь зөөвөрлөгчийг түүхий хоёртын форматаар текст дээр суурилсан системд дамжуулах үед үүсдэг асуудлаас үүдэлтэй. Текстэд суурилсан системүүд (и-мэйл гэх мэт) хоёртын өгөгдлийг тусгай тушаалын тэмдэгтүүд зэрэг өргөн хүрээний тэмдэгт болгон тайлбарладаг тул дамжуулах хэрэгсэлд дамжуулагдсан хоёртын өгөгдлийн ихэнхийг эдгээр системүүд буруу тайлбарлаж, дамжуулах явцад алдагдах эсвэл гэмтсэн байдаг. үйл явц.

Ийм дамжуулах асуудлаас зайлсхийхийн тулд ийм хоёртын өгөгдлийг кодлох нэг арга бол тэдгээрийг Base64 кодлогдсон форматаар энгийн ASCII текст хэлбэрээр илгээх явдал юм. Энэ нь MIME стандартын энгийн текстээс бусад өгөгдлийг илгээхэд ашигладаг аргуудын нэг юм. PHP, Javascript зэрэг олон програмчлалын хэлнүүд нь Base64 кодчилол ашиглан дамжуулагдсан өгөгдлийг тайлбарлахын тулд Base64 кодчилол, тайлах функцуудыг агуулдаг.

Base64 кодчиллын логик

Base64 кодчилолд 3 байтаас бүрдэх 3 * 8 бит = 24 бит өгөгдлийг 6 битийн 4 бүлэгт хуваадаг. Эдгээр 6 битийн 4 бүлгийн [0-64] хоорондох аравтын бутархайн утгуудад тохирох тэмдэгтүүдийг Base64 хүснэгтээс кодчилно. Base64 кодчиллын үр дүнд олж авсан тэмдэгтүүдийн тоо 4-ийн үржвэр байх ёстой. 4-ийн үржвэр биш кодлогдсон өгөгдөл нь Base64 өгөгдөл биш юм. Base64 алгоритмаар кодлохдоо кодчилол дууссаны дараа өгөгдлийн урт нь 4-ийн үржвэр биш бол кодчилолын төгсгөлд "=" (тэнцүү) тэмдэгтийг 4-ийн үржвэр болтол нэмнэ. Жишээлбэл, хэрэв бид кодчилолын үр дүнд 10 тэмдэгттэй Base64 кодлогдсон өгөгдөлтэй бол төгсгөлд нь хоёр "==" нэмэх хэрэгтэй.

Base64 кодчилолын жишээ

Жишээлбэл, 155, 162, 233 гэсэн гурван ASCII тоог ав. Эдгээр гурван тоо нь 100110111010001011101001 гэсэн хоёртын урсгалыг үүсгэдэг. Зураг гэх мэт хоёртын файл нь хэдэн арван эсвэл хэдэн зуун мянган тэг, нэгд ажилладаг хоёртын урсгалыг агуулдаг. Base64 кодлогч нь хоёртын урсгалыг 100110 111010 001011 101001 гэсэн зургаан тэмдэгтийн бүлэгт хувааж эхэлдэг. Эдгээр бүлэглэл бүрийг 38, 58, 11, 41 тоо болгон хөрвүүлдэг. Зургаан тэмдэгтийн хоёртын урсгалыг хоёртын (эсвэл үндсэн) хооронд хөрвүүлдэг. 2) хоёртын массив дахь 1-ээр илэрхийлэгдсэн утга бүрийг байрлалын квадратаар квадрат болгох замаар аравтын бутархай (суурь-10) тэмдэгт хүртэл. Баруун талаас зүүн тийш шилжиж, тэгээс эхлэн хоёртын урсгал дахь утгууд нь 2^0, дараа нь 2^1, дараа нь 2^2, дараа нь 2^3, дараа нь 2^4, дараа нь 2^ гэсэн утгыг илэрхийлнэ. 5.

Үүнийг харах өөр нэг арга энд байна. Зүүн талаас эхлэн байрлал бүр нь 1, 2, 4, 8, 16, 32 гэсэн утгатай. Хэрэв үүрэнд хоёртын тоо 1 байвал та энэ утгыг нэмнэ үү; хэрэв үүрэнд 0 байгаа бол та дутуу байна. Хоёртын массив 100110 нь 38-ыг эргүүлнэ: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 аравтын тоо + 4 + 0 + 0 + 32. Base64 кодчилол нь энэ хоёртын мөрийг авч, 38, 58, 11, 41 гэсэн 6 битийн утгуудад хуваадаг. Эцэст нь Base64 кодчилолын хүснэгтийг ашиглан эдгээр тоонуудыг ASCII тэмдэгт болгон хувиргадаг.