nicetool.dev logo

BASE64 ตัวเข้ารหัส

ทุกอย่างประมวลผลในเบราว์เซอร์ของคุณ ข้อมูลของคุณจะไม่ถูกส่งออกจากคอมพิวเตอร์ของคุณ

แหล่งข้อมูลเข้า
ผลลัพธ์

Base64 คืออะไร?

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

Base64 ทำงานอย่างไร

Base64 ทำงานโดยการแบ่งข้อมูลไบนารีที่ป้อนเข้ามาเป็นกลุ่ม 24 บิต (3 ไบต์) จากนั้นกลุ่มเหล่านี้จะถูกแบ่งออกเป็นสี่ส่วน 6 บิต ค่า 6 บิตแต่ละค่าจะถูกจับคู่กับอักขระเฉพาะในตัวอักษร Base64 (A-Z, a-z, 0-9, +, /) หากความยาวของข้อมูลไม่สามารถหารด้วย 3 ลงตัว จะมีการเพิ่มอักขระ '=' เป็นตัวเติม

3 Bytes (24 bits) → 4 Chars (6 bits each)

การเข้ารหัส (Encoding) กับ การเข้ารหัสลับ (Encryption)

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

Base64 ≠ Password Protection

กรณีการใช้งานทั่วไป

  • Data URIs: การฝังรูปภาพหรือไอคอนโดยตรงใน HTML/CSS เพื่อลดคำขอ HTTP
  • ไฟล์แนบอีเมล (MIME): การส่งไฟล์ไบนารีอย่างปลอดภัยผ่านโปรโตคอล SMTP แบบข้อความรุ่นเก่า
  • APIs & JSON: การส่งข้อมูลไบนารี (เช่น PDF หรือรูปภาพ) ภายในเพย์โหลด JSON

ทำไมเครื่องมือนี้ถึงปลอดภัย?

แตกต่างจากเครื่องมือฝั่งเซิร์ฟเวอร์จำนวนมาก Nicetool.dev ทำงานบนสถาปัตยกรรม 'Local-first' เราใช้ความสามารถของเบราว์เซอร์ของคุณเพื่อจัดการงานเข้ารหัสและถอดรหัสทั้งหมด

ข้อมูลของคุณจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ของเรา

วิธีใช้ เข้ารหัส/ถอดรหัส Base64

  1. 1

    เลือก Encode เพื่อแปลงข้อความเป็น Base64 หรือ Decode เพื่อแปลงสตริง Base64 กลับเป็นข้อความที่อ่านได้

  2. 2

    วางข้อมูลลงไป หากข้อความมีภาษาไทย อีโมจิ หรืออักษรเอเชีย ให้ใช้ชุดอักขระ UTF-8 ส่วน ASCII ใช้เฉพาะข้อมูลภาษาอังกฤษแบบเก่า

  3. 3

    เมื่อเปิด Live Mode ผลลัพธ์จะอัปเดตขณะพิมพ์ หากข้อมูลมีขนาดใหญ่ ให้ปิดแล้วกด GO!

  4. 4

    คัดลอกผลลัพธ์ หากถอดรหัสไม่สำเร็จ ข้อมูลอาจมีอักขระที่ไม่ใช่ Base64 หรือถูกตัดหายบางส่วน ให้ตรวจว่าคัดลอกมาครบหรือไม่

ตัวอย่างการใช้งานจริง

การยืนยันตัวตนแบบ HTTP Basic

header Authorization ของผู้ใช้ admin รหัสผ่าน s3cret คือ "Basic " ตามด้วย Base64 ของ "admin:s3cret" ซึ่งก็คือ YWRtaW46czNjcmV0 การถอดรหัส header จาก log ทำให้รู้ว่าส่งผู้ใช้ใดไป

Secret ของ Kubernetes

ค่าใน manifest ของ Secret ถูกเข้ารหัสเป็น Base64 ถอดรหัสเพื่อตรวจ URL ของฐานข้อมูล หรือเข้ารหัสค่าใหม่ก่อนวางลงในไฟล์ YAML

Data URI

ไอคอนขนาดเล็กฝังลงใน CSS หรือ HTML ได้ในรูปแบบ data:image/png;base64,... ช่วยลดจำนวน request ของเบราว์เซอร์

ตรวจสอบโทเค็นและ payload

ลายเซ็นของ webhook ไฟล์แนบอีเมล (MIME) และบางส่วนของ JWT ล้วนใช้ Base64 การถอดรหัสมักเป็นขั้นแรกของการดีบักระบบที่เชื่อมต่อกัน

คำถามที่พบบ่อย

Base64 คือการเข้ารหัสเพื่อความปลอดภัยหรือไม่?+

ไม่ใช่ Base64 เป็นเพียงการแปลงรูปแบบข้อมูลที่ใครก็ถอดกลับได้โดยไม่ต้องใช้คีย์ ใช้ส่งข้อมูลไบนารีผ่านช่องทางข้อความ แต่ไม่ได้ปกปิดเนื้อหา ข้อมูลลับควรใช้การเข้ารหัสจริง

ทำไมผลลัพธ์ยาวกว่าข้อมูลเดิม?+

Base64 ใช้ 4 อักขระแทนข้อมูลทุก 3 ไบต์ ผลลัพธ์จึงใหญ่ขึ้นประมาณ 33% เครื่องหมาย = ท้ายสุดคือการเติมให้กลุ่มสุดท้ายครบ

Base64URL คืออะไร?+

เป็นรูปแบบที่เปลี่ยน + เป็น - และ / เป็น _ และมักตัด = ท้ายออก เพื่อใช้ใน URL และชื่อไฟล์ได้ JWT ใช้ Base64URL

ทำไมภาษาไทยถอดรหัสออกมาเพี้ยน?+

ข้อความอาจถูกเข้ารหัสด้วยชุดอักขระอื่น ระบบส่วนใหญ่ในปัจจุบันใช้ UTF-8 ให้เลือก UTF-8 ทั้งสองฝั่งเพื่อให้ตัวอักษรถูกต้อง