ตัวเข้ารหัส / ถอดรหัส Base32
ข้อความที่ถอดรหัสแล้ว
Base32 ที่เข้ารหัสแล้ว
รายละเอียดทางเทคนิค
การทำงานของตัวเข้ารหัส/ถอดรหัส Base32
เครื่องมือนี้ทำอะไร
ตัวเข้ารหัส/ถอดรหัส Base32 จะแปลงข้อมูลไปมาเป็นรูปแบบ Base32 ซึ่งเป็นรูปแบบการเข้ารหัสแบบไบนารีเป็นข้อความที่ใช้ตัวอักษร ASCII ที่พิมพ์ได้จำนวน 32 ตัว (A–Z และ 2–7) โดยออกแบบมาให้เป็นมิตรต่อมนุษย์และไม่แยกตัวพิมพ์เล็ก-ใหญ่ ทำให้เหมาะกับสภาพแวดล้อมที่ไม่มีตัวอักษรพิมพ์เล็กให้ใช้ หรือกรณีที่มนุษย์ต้องถอด/คัดลอกสตริงที่เข้ารหัสด้วยตนเอง การใช้งานที่พบบ่อย ได้แก่ คีย์ลับ TOTP สำหรับแอปยืนยันตัวตนแบบสองปัจจัย และพาธของระบบไฟล์บนระบบที่ไม่แยกตัวพิมพ์เล็ก-ใหญ่
กรณีการใช้งานทั่วไปของนักพัฒนา
นักพัฒนาใช้การเข้ารหัส Base32 เมื่อสร้างคีย์ลับ OTP/TOTP ที่เข้ากันได้กับแอปยืนยันตัวตน เช่น Google Authenticator เมื่อสร้างตัวระบุแบบกะทัดรัดที่ปลอดภัยต่อการใช้งานใน URL และชื่อไฟล์ และเมื่อเข้ารหัสข้อมูลไบนารีสำหรับระบบที่ไม่สามารถจัดการค่าของไบต์แบบสุ่มได้ การถอดรหัสมักจำเป็นเมื่อดึงไบต์ดิบจากคีย์ลับ OTP หรือเมื่อตรวจสอบเพย์โหลดที่เข้ารหัสด้วย Base32 ที่ได้รับจากบริการของบุคคลที่สาม
รูปแบบข้อมูล ชนิด หรือรูปแบบย่อย
Base32 มาตรฐาน (RFC 4648) ใช้อักขระ A–Z และ 2–7 โดยเติม = (padding) เพื่อให้ผลลัพธ์มีความยาวเป็นจำนวนเท่าของ 8 อักขระ ส่วน Base32hex ใช้อักขระ 0–9 และ A–V เพื่อให้เรียงลำดับแบบธรรมชาติได้ง่าย ผลลัพธ์ที่เข้ารหัสจะมีขนาดใหญ่กว่าข้อมูลต้นฉบับประมาณ 60% บางบริบท เช่น ความลับของ TOTP อาจละเว้น padding ได้ เครื่องมือนี้รองรับทั้งรูปแบบมาตรฐานและแบบมี padding ระหว่างการถอดรหัส
ข้อผิดพลาดที่พบบ่อยและกรณีขอบ
Base32 ไม่แยกตัวพิมพ์เล็ก-ใหญ่ ดังนั้นตัวถอดรหัสควรปรับอินพุตให้เป็นตัวพิมพ์ใหญ่ก่อนประมวลผล อักขระที่ไม่ถูกต้อง (อะไรก็ตามที่อยู่นอก A–Z และ 2–7) จะทำให้เกิดข้อผิดพลาดในการถอดรหัส อย่าสับสน Base32 กับ Base32hex — ทั้งสองใช้อักขระคนละชุดและให้ผลลัพธ์ต่างกัน อักขระ padding ต้องมีเมื่อสเปกระบุว่าจำเป็น; บางอิมพลีเมนเทชันยอมรับการขาด padding แบบเงียบ ๆ ขณะที่บางตัวจะล้มเหลว
เมื่อใดควรใช้เครื่องมือนี้แทนการเขียนโค้ด
ใช้เครื่องมือบนเบราว์เซอร์นี้เพื่อเข้ารหัสและถอดรหัส Base32 อย่างรวดเร็ว โดยเฉพาะเมื่อทำงานกับความลับของ TOTP หรือเมื่อตรวจสอบเพย์โหลดที่ถูกเข้ารหัสระหว่างการพัฒนา สำหรับแอปพลิเคชันโปรดักชัน ให้ใช้ไลบรารีประจำภาษาที่รองรับ เช่น base32 (Python), hi-base32 (JavaScript) หรือ Apache Commons Codec (Java) เพื่อให้การเข้ารหัสทำซ้ำได้ ผ่านการทดสอบ และผสานเข้ากับบิลด์ไพป์ไลน์ของคุณ