การเข้ารหัส Base64

ด้วยเครื่องมือการเข้ารหัส Base64 คุณสามารถเข้ารหัสข้อความที่คุณป้อนด้วยวิธี Base64 หากต้องการ คุณสามารถถอดรหัสรหัส Base64 ที่เข้ารหัสด้วยเครื่องมือถอดรหัส Base64

การเข้ารหัส Base64 คืออะไร?

การเข้ารหัส Base64 เป็นรูปแบบการเข้ารหัสที่อนุญาตให้ส่งข้อมูลไบนารีในสภาพแวดล้อมที่ใช้การเข้ารหัสอักขระที่จำกัดบางตัวเท่านั้น (สภาพแวดล้อมที่ไม่สามารถใช้รหัสอักขระทั้งหมดได้ เช่น xml, html, สคริปต์, แอปพลิเคชันการส่งข้อความโต้ตอบแบบทันที) จำนวนอักขระในโครงการนี้คือ 64 และหมายเลข 64 ในคำว่า Base64 มาจากที่นี่

ทำไมต้องใช้การเข้ารหัส Base64?

ความจำเป็นในการเข้ารหัส Base64 เกิดจากปัญหาที่เกิดขึ้นเมื่อสื่อถูกส่งในรูปแบบไบนารีดิบไปยังระบบที่ใช้ข้อความ เนื่องจากระบบแบบข้อความ (เช่น อีเมล) ตีความข้อมูลไบนารีเป็นอักขระที่หลากหลาย รวมถึงอักขระคำสั่งพิเศษ ข้อมูลไบนารีส่วนใหญ่ที่ส่งไปยังสื่อการถ่ายโอนจึงถูกตีความผิดโดยระบบเหล่านี้ และสูญหายหรือเสียหายในการส่ง กระบวนการ.

วิธีหนึ่งในการเข้ารหัสข้อมูลไบนารีในลักษณะที่หลีกเลี่ยงปัญหาการส่งข้อมูลดังกล่าว คือการส่งเป็นข้อความ ASCII ธรรมดาในรูปแบบเข้ารหัส Base64 นี่เป็นหนึ่งในเทคนิคที่มาตรฐาน MIME ใช้ในการส่งข้อมูลอื่นที่ไม่ใช่ข้อความธรรมดา ภาษาโปรแกรมมากมาย เช่น PHP และ Javascript มีฟังก์ชันการเข้ารหัสและถอดรหัส Base64 เพื่อตีความข้อมูลที่ส่งโดยใช้การเข้ารหัส Base64

ลอจิกการเข้ารหัส Base64

ในการเข้ารหัส Base64 3 * 8 บิต = 24 บิตของข้อมูลที่ประกอบด้วย 3 ไบต์แบ่งออกเป็น 4 กลุ่ม 6 บิต อักขระที่ตรงกับค่าทศนิยมระหว่าง [0-64] ของกลุ่ม 6 บิต 4 กลุ่มนี้จับคู่จากตาราง Base64 เพื่อเข้ารหัส จำนวนอักขระที่ได้รับจากการเข้ารหัส Base64 ต้องเป็นทวีคูณของ 4 ข้อมูลที่เข้ารหัสที่ไม่ใช่ทวีคูณของ 4 นั้นไม่ใช่ข้อมูล Base64 ที่ถูกต้อง เมื่อเข้ารหัสด้วยอัลกอริธึม Base64 เมื่อการเข้ารหัสเสร็จสิ้น หากความยาวของข้อมูลไม่เป็นทวีคูณของ 4 อักขระ "=" (เท่ากับ) จะถูกเพิ่มที่ส่วนท้ายของการเข้ารหัสจนกว่าจะเป็นทวีคูณของ 4 ตัวอย่างเช่น หากเรามีข้อมูลที่เข้ารหัส Base64 10 อักขระอันเป็นผลมาจากการเข้ารหัส ควรเพิ่ม "==" สองรายการต่อท้าย

ตัวอย่างการเข้ารหัส Base64

ตัวอย่างเช่น ใช้ตัวเลข ASCII สามตัว 155, 162 และ 233 ตัวเลขทั้งสามนี้สร้างกระแสไบนารีที่ 100110111010001011101001 ไฟล์ไบนารีเช่นรูปภาพมีสตรีมไบนารีที่ทำงานสำหรับศูนย์และศูนย์นับหมื่นหรือหลายแสนคน ตัวเข้ารหัส Base64 เริ่มต้นด้วยการแยกสตรีมไบนารีออกเป็นกลุ่มๆ ละหกอักขระ: 100110 111010 001011 101001 แต่ละกลุ่มจะถูกแปลเป็นตัวเลข 38, 58, 11 และ 41 สตรีมไบนารีหกอักขระจะถูกแปลงระหว่างไบนารี (หรือพื้นฐาน) 2) เป็นอักขระทศนิยม (ฐาน 10) โดยการยกกำลังสองแต่ละค่าที่แสดงด้วย 1 ในอาร์เรย์ไบนารีโดยสี่เหลี่ยมตำแหน่ง เริ่มจากทางขวาแล้วเลื่อนไปทางซ้ายและเริ่มที่ศูนย์ ค่าในไบนารีสตรีมแทน 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 ใช้สตริงไบนารีนี้และแบ่งออกเป็นค่า 6 บิต 38, 58, 11 และ 41 สุดท้าย ตัวเลขเหล่านี้จะถูกแปลงเป็นอักขระ ASCII โดยใช้ตารางการเข้ารหัส Base64