ตัวเข้ารหัส Base64
ตัวเข้ารหัส Base64 เป็นเครื่องมือฟรีที่แปลงสตริงให้เป็นข้อความ Base64 มาตรฐาน
Base64 คืออะไร และมีไว้ทำไม?
Base64 คือการเข้ารหัสข้อมูลไบนารีให้อยู่ในรูปข้อความ โดยใช้ตัวอักษร ตัวเลข และสัญลักษณ์บางตัว วิธีนี้มีขึ้นเพราะบางระบบส่งข้อความได้อย่างถูกต้อง แต่ข้อมูลไบนารีดิบอาจถูกแก้ไขหรือปฏิเสธระหว่างทาง
ชุดอักขระ Base64 มาตรฐานประกอบด้วยตัวอักษรพิมพ์ใหญ่และพิมพ์เล็ก ตัวเลข เครื่องหมายบวก และเครื่องหมายทับ โดยอาจมีเครื่องหมายเท่ากับต่อท้ายเพื่อใช้เป็น padding ค่าที่เข้ารหัสแล้วมักยาวกว่าข้อมูลต้นฉบับ เพราะข้อมูลอินพุตทุกสามไบต์จะกลายเป็นอักขระ Base64 สี่ตัว
อินพุตคือ Hello
เอาต์พุตคือ SGVsbG8=
Base64 ทำงานกับไบต์ ไม่ใช่อักขระที่มนุษย์อ่านได้โดยตรง ช่องว่าง เครื่องหมายวรรคตอน และตัวเลขจะถูกเข้ารหัสเหมือนข้อมูลอินพุตอื่นๆ ส่วนตัวอักษรที่มีเครื่องหมายกำกับ อีโมจิ และอักษรที่ไม่ใช่ละตินต้องผ่านการเข้ารหัสอักขระก่อน ซึ่งโดยทั่วไปคือ UTF-8 การเข้ารหัสเป็นไบต์ที่ต่างกันจะให้ผลลัพธ์ Base64 ต่างกัน อินพุตว่างจะได้ค่าที่เข้ารหัสเป็นค่าว่าง ส่วนอินพุตที่ยาวมากจะได้สตริงที่ยาวขึ้นตามสัดส่วน
Base64 เป็นการเข้ารหัสข้อมูล ไม่ใช่การเข้ารหัสลับ ทุกคนที่มีตัวถอดรหัสสามารถกู้ข้อมูลต้นฉบับได้ จึงไม่ช่วยปกปิดข้อมูลและไม่เหมาะสำหรับซ่อนรหัสผ่าน คีย์ API หรือข้อมูลส่วนบุคคล
ใช้ตัวเข้ารหัส Base64 อย่างไร?
ป้อนสตริงที่ต้องการเข้ารหัส แล้วดูค่าที่แปลงแล้วในช่องผลลัพธ์ เข้ารหัสแบบ Base64 เครื่องมือนี้ใช้การเข้ารหัส Base64 มาตรฐานผ่านฟังก์ชัน base64_encode ของ PHP
- คัดลอกสตริงต้นฉบับให้ครบถ้วน รวมถึงช่องว่างหรือการขึ้นบรรทัดใหม่ที่ต้องการเก็บไว้
- คัดลอกค่า Base64 ที่ได้โดยไม่เติมเครื่องหมายคำพูด ช่องว่าง หรืออักขระอื่นใด
การประมวลผลเกิดขึ้นบนเซิร์ฟเวอร์ อินพุตของคุณจะถูกส่งไปยังเซิร์ฟเวอร์ผ่าน HTTPS และไม่มีการจัดเก็บ แม้ HTTPS จะปกป้องคำขอขณะรับส่ง แต่ควรหลีกเลี่ยงการส่งข้อมูลลับ เว้นแต่ระบบปลายทางจำเป็นต้องรับข้อมูลในรูป Base64 จริงๆ
Base64 ใช้ทำอะไรในทางปฏิบัติ?
Base64 ใช้เมื่อต้องส่งข้อมูลไบนารีหรือไบต์ใดๆ ผ่านรูปแบบที่รองรับเฉพาะข้อความ ระบบปลายทางต้องทราบว่าค่านั้นเป็น Base64 และถอดรหัสในขั้นตอนที่เหมาะสม
- Data URLs: ใช้ฝังรูปภาพ แบบอักษร หรือไฟล์อื่นที่เข้ารหัสเป็น Base64 ลงใน HTML หรือ CSS โดยตรง พร้อมระบุประเภทสื่อ
- Query strings: บางครั้งใช้ส่งโทเค็นหรือข้อมูลแบบมีโครงสร้างที่เข้ารหัสแล้ว แต่โดยทั่วไป Base64 แบบปลอดภัยสำหรับ URL จะเหมาะกว่า
- อีเมล: ใช้ Base64 เป็นหนึ่งในรูปแบบการเข้ารหัสสำหรับรับส่ง MIME เพื่อส่งไฟล์แนบและส่วนของข้อความที่ไม่สามารถส่งเป็นข้อความธรรมดาได้อย่างปลอดภัย
- JSON payloads: อาจแทนไบต์ของรูปภาพ เอกสาร หรือข้อมูลสำหรับการเข้ารหัสลับด้วยสตริง เพราะ JSON ไม่มีชนิดข้อมูลไบนารีโดยตรง
- การยืนยันตัวตนผ่าน HTTP: ใช้ Base64 กับชื่อผู้ใช้และรหัสผ่านในการยืนยันตัวตนแบบ Basic หลังถอดรหัสแล้วยังอ่านค่าได้ จึงยังจำเป็นต้องใช้การรับส่งข้อมูลที่ปลอดภัย
ควรเลือก Base64 มาตรฐานหรือ Base64url?
เครื่องมือนี้สร้าง Base64 มาตรฐาน ซึ่งเหมาะกับอีเมล MIME, JSON API จำนวนมาก และระบบที่ระบุให้ใช้ชุดอักขระ Base64 แบบปกติ เอาต์พุตมาตรฐานอาจมี +, / และ padding = ต่อท้าย
เลือก Base64url เมื่อต้องนำค่าไปใช้เป็นส่วนหนึ่งของ URL ชื่อไฟล์ คุกกี้ หรือ JSON Web Token รูปแบบนี้จะแทน + ด้วย - และแทน / ด้วย _ อีกทั้งมักตัด padding ออก อย่าเปลี่ยนรูปแบบโดยไม่ตรวจสอบข้อกำหนดของระบบปลายทาง เพราะตัวถอดรหัสที่รองรับชุดอักขระแบบหนึ่งอาจปฏิเสธอีกแบบหนึ่ง
ทำไม Base64 ถึงถอดรหัสไม่ได้หรือได้ข้อมูลอ่านไม่รู้เรื่อง?
Base64 มักถอดรหัสไม่สำเร็จเพราะอินพุตเป็นรูปแบบที่ระบบไม่รองรับ หรือข้อมูลถูกเปลี่ยนระหว่างการรับส่ง นอกจากนี้ Base64 ที่ถูกต้องอาจถอดออกมาเป็นไบต์ไบนารี ซึ่งจะดูเหมือนข้อมูลอ่านไม่รู้เรื่องเมื่อนำไปแสดงเป็นข้อความ
- ใช้ชุดอักขระผิด: มักเกิดเมื่อนำ Base64url ไปป้อนให้ตัวถอดรหัส Base64 มาตรฐานที่ตรวจรูปแบบอย่างเคร่งครัด หรือทำในทางกลับกัน
- ไม่มี padding: อาจทำให้ตัวถอดรหัสบางตัวแจ้งข้อผิดพลาด หากระบบกำหนดให้เติมความยาวด้วยเครื่องหมายเท่ากับหนึ่งหรือสองตัว
- เข้ารหัสซ้ำ: เกิดขึ้นเมื่อนำค่าที่เข้ารหัสแล้วมาเข้ารหัสอีกครั้ง การถอดรหัสรอบแรกจึงได้สตริงที่ยังดูเหมือน Base64 แทนที่จะเป็นข้อมูลต้นฉบับ
- อักขระถูกเปลี่ยน: อาจเกิดจากเครื่องหมายบวกใน query string ถูกตีความเป็นช่องว่าง หรือมีการขึ้นบรรทัดใหม่และช่องว่างแทรกเข้ามาระหว่างการคัดลอก
- เอาต์พุตเป็นไบนารี: อาจดูเหมือนข้อมูลอ่านไม่รู้เรื่องเมื่อแสดงเป็นข้อความ ไบต์ที่ถอดรหัสแล้วอาจเป็นรูปภาพ ไฟล์บีบอัด PDF หรือไฟล์ที่เข้ารหัสลับ ซึ่งต้องเปิดด้วยแอปพลิเคชันที่ถูกต้อง
ตัวถอดรหัส Base64 สามารถแปลงข้อความ Base64 มาตรฐานกลับคืนได้ หากไบต์ที่ถอดรหัสเป็นรูปภาพ การใช้ Base64 เป็นรูปภาพอาจเป็นขั้นตอนถัดไปที่ตรงจุดกว่า
คำถามที่พบบ่อย
Base64 เก็บตัวพิมพ์ใหญ่และการขึ้นบรรทัดใหม่ไว้ไหม?
เก็บไว้ Base64 จะรักษาไบต์ต้นฉบับ รวมถึงตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่ และอักขระขึ้นบรรทัดใหม่ อย่างไรก็ตาม การจบบรรทัดแบบ Windows และ Unix ใช้ลำดับไบต์ต่างกัน ข้อความหลายบรรทัดที่มองดูเหมือนกันจึงอาจได้ค่าที่เข้ารหัสต่างกัน
นำ Base64 ไปวางใน HTML หรือ CSS ได้เลยไหม?
ได้เฉพาะเมื่อเติมไวยากรณ์ที่เอกสารนั้นกำหนด โดยทั่วไป data URL ต้องมีประเภทสื่อและตัวระบุ ;base64 อยู่ก่อนข้อมูลที่เข้ารหัส เครื่องมือนี้จะคืนเฉพาะข้อมูล Base64 ไม่ได้สร้าง URL แบบเต็มให้
ข้อความเดียวกันจะได้ค่า Base64 เหมือนเดิมทุกครั้งไหม?
จะได้ค่าเดิมเมื่อไบต์อินพุตเหมือนกันทุกประการ หากใช้การเข้ารหัสอักขระต่างกัน มีช่องว่างที่มองไม่เห็นต่อท้าย มี byte order mark หรือเปลี่ยนรูปแบบการจบบรรทัด ผลลัพธ์ก็จะเปลี่ยนไป
Base64 แยกตัวพิมพ์เล็กกับตัวพิมพ์ใหญ่ไหม?
แยก ตัวพิมพ์ใหญ่และตัวพิมพ์เล็กแทนค่าคนละค่าในชุดอักขระ Base64 การเปลี่ยนรูปแบบตัวพิมพ์จึงอาจทำให้ข้อมูลที่ถอดรหัสเสียหาย แม้สตริงจะยังดูเหมือนถูกต้องก็ตาม
เครื่องมือนี้เข้ารหัสไฟล์ได้ไหม?
เครื่องมือนี้ออกแบบมาสำหรับสตริง ไม่ใช่การอัปโหลดไฟล์ การวางข้อความที่ใช้แทนไฟล์ไม่เหมือนกับการเข้ารหัสไบต์ดิบของไฟล์ หากแอปพลิเคชันอื่นต้องการไบต์ของไฟล์ในรูป Base64 ให้ใช้ตัวเข้ารหัสที่รองรับไฟล์ และทำตามข้อกำหนดของแอปพลิเคชันนั้นเกี่ยวกับชุดอักขระ Base64 และ padding
เครื่องมือที่คล้ายกัน
ถอดรหัสข้อมูล Base64 กลับเป็นข้อความต้นฉบับด้วยเครื่องมือถอดรหัส Base64 ของเรา เพื่อเรียกคืนข้อมูลได้อย่างง่ายดาย
เครื่องมือยอดนิยม
สร้างลายเซ็นแบบกำหนดเองของคุณได้อย่างง่ายดายและดาวน์โหลดได้อย่างสะดวก
ใช้เครื่องมือ ping ของเราเพื่อตรวจสอบสถานะและเวลาตอบสนองของเว็บไซต์ เซิร์ฟเวอร์ หรือพอร์ตใด ๆ ได้อย่างรวดเร็วและมีประสิทธิภาพ
เครื่องมือค้นหา IP ของ Digily Link ให้ข้อมูลโดยละเอียดเกี่ยวกับที่อยู่ IP ใด ๆ ใช้บริการออนไลน์ฟรีนี้เพื่อดูข้อมูล IP อย่างครบถ้วน
สร้างลิงก์ WhatsApp ฟรีได้ทันทีด้วยเครื่องมือสร้างลิงก์ WhatsApp ของเรา เพิ่มข้อความที่กำหนดเองและเริ่มแชทได้ในคลิกเดียว โดยไม่ต้องเข้าสู่ระบบหรือเขียนโค้ด