การเข้ารหัส Base64 คืออะไรและเมื่อใดควรใช้
หากคุณทำงานกับ API ระบบอีเมล หรือการพัฒนาเว็บ คุณได้พบกับ Base64 — แม้ไม่ได้รู้จักก็ตาม สตริงยาวของตัวอักษรและตัวเลขที่ดูเหมือนภาษาแปลก? นั่นน่าจะเป็น Base64
Base64 ทำอะไร
Base64 แปลงข้อมูลไบนารี (ลำดับไบต์ใดก็ได้) เป็นสตริงข้อความที่ใช้เพียง 64 อักขระ « ปลอดภัย »: A-Z, a-z, 0-9, + และ / ผลลัพธ์มักลงท้ายด้วย = ถ้าจำเป็น
ตัวอย่าง:
- ข้อความ:
Hello World - Base64:
SGVsbG8gV29ybGQ=
การเข้ารหัสนี้มีอยู่เพราะระบบจำนวนมาก (อีเมล JSON URL XML) จัดการเฉพาะข้อความ ข้อมูลไบนารี — รูปภาพ ไฟล์บีบอัด ไบต์ดิบ — อาจมีอักขระที่ทำลายระบบเหล่านี้ Base64 แปลงไบนารีเป็นข้อความที่ผ่านช่องสัญญาณข้อความใดๆ ได้โดยไม่เสียหาย
การใช้งานทั่วไป
การฝังรูปภาพใน HTML/CSS:
<img src="data:image/png;base64,iVBORw0KGgoAAAA..." />
ไอคอนและโลโก้ขนาดเล็กสามารถฝังโดยตรงใน HTML ของคุณ กำจัดคำขอ HTTP เพิ่มเติม
เพย์โหลด API: เมื่อ API คาดหวัง JSON แต่คุณต้องรวมไบนารี (การอัปโหลดไฟล์ ภาพลายเซ็น) การเข้ารหัสเป็น Base64 ช่วยให้คุณรวมเป็นฟิลด์ข้อความปกติได้
ไฟล์แนบอีเมล: โปรโตคอลอีเมล (SMTP) เป็นข้อความ ไฟล์แนบทุกตัวถูกเข้ารหัสเป็น Base64 เบื้องหลังเพื่อเดินทางเป็นข้อความ
ส่วนหัวการรับรองความถูกต้อง: การรับรองความถูกต้อง HTTP Basic เข้ารหัส username:password เป็น Base64 ในส่วนหัว Authorization (นี่คือการเข้ารหัส ไม่ใช่การเข้ารหัสลับ — ไม่มีความปลอดภัยในตัว)
วิธีเข้ารหัสและถอดรหัส
- เลือกเข้ารหัสหรือถอดรหัส — เลือกทิศทางการแปลง
- วางข้อความหรืออัปโหลดไฟล์ — ป้อนข้อความโดยตรงหรือลากและวางไฟล์ (สูงสุด 5 MB)
- คัดลอกผลลัพธ์ — เอาต์พุตอัปเดตทันที คัดลอกไปยังคลิปบอร์ด
เมื่อใดควรใช้ Base64
ใช้เมื่อ:
- คุณต้องฝังรูปภาพขนาดเล็ก (น้อยกว่า 5 KB) โดยตรงใน HTML หรือ CSS
- API ต้องการข้อมูลไบนารีในรูปแบบสตริงข้อความ
- คุณต้องส่งไบนารีผ่านระบบที่รองรับเฉพาะข้อความ
อย่าใช้เมื่อ:
- ไฟล์มีขนาดใหญ่ — Base64 เพิ่มค่าใช้จ่าย 33% และป้องกันการแคช
- คุณต้องการความปลอดภัย — Base64 ไม่ใช่การเข้ารหัสลับ
- คุณสามารถให้บริการไฟล์ตามปกติ —
<img src="photo.jpg">แบบคลาสสิกมีประสิทธิภาพมากกว่า Data URL Base64 สำหรับทุกอย่างที่เกินกว่าไม่กี่ KB
เคล็ดลับ
- ไฟล์ขนาดเล็กเท่านั้น — การเพิ่ม 33% มีความสำคัญ รูปภาพ 100 KB กลายเป็น 133 KB ใน Base64 และไม่สามารถแคชแยกโดยเบราว์เซอร์ได้
- อย่าสับสนระหว่างการเข้ารหัสและการเข้ารหัสลับ — Base64 ย้อนกลับได้ทั้งหมดโดยใครก็ได้ ไม่มีความปลอดภัย ใช้สำหรับการขนส่งข้อมูล ไม่ใช่เพื่อปกป้อง
- ระวังการขึ้นบรรทัด — การใช้งาน Base64 บางตัวเพิ่มการขึ้นบรรทัดทุก 76 อักขระ (ตามมาตรฐาน MIME) หากคุณวาง Base64 ใน JSON หรือ URL ตรวจสอบให้แน่ใจว่าอยู่ในบรรทัดเดียว
คำถามที่พบบ่อย
Base64 เข้ารหัสลับข้อมูลของฉันหรือไม่?
ไม่ Base64 เป็นการเข้ารหัส ไม่ใช่การเข้ารหัสลับ ใครก็สามารถถอดรหัสสตริง Base64 — ไม่มีความปลอดภัย หากคุณต้องการปกป้องข้อมูล ใช้การเข้ารหัสลับจริง (AES, RSA ฯลฯ)
ทำไม Base64 ทำให้ไฟล์หนักกว่า?
การเข้ารหัส Base64 เพิ่มขนาดข้อมูลประมาณ 33% สามไบต์ของไบนารีกลายเป็นสี่อักขระ Base64 ค่าใช้จ่ายนี้คือราคาที่ต้องจ่ายเพื่อให้สามารถส่งไบนารีได้อย่างปลอดภัยในรูปแบบข้อความ
ฉันสามารถเข้ารหัสไฟล์ ไม่ใช่แค่ข้อความได้หรือไม่?
ได้ ไฟล์ใดๆ (รูปภาพ PDF เสียง) สามารถเข้ารหัสเป็น Base64 ได้ ใช้กันทั่วไปในการฝังรูปภาพขนาดเล็กโดยตรงใน HTML หรือ CSS เป็น Data URL
เมื่อใดที่ไม่ควรใช้ Base64?
อย่าใช้สำหรับไฟล์ขนาดใหญ่ รูปภาพ 1 MB กลายเป็น 1.33 MB ในข้อความ Base64 และเบราว์เซอร์ไม่สามารถแคชแยกได้ สำหรับทุกอย่างที่เกินไม่กี่ KB การให้บริการไฟล์ตามปกติมีประสิทธิภาพมากกว่า