เข้ารหัส / ถอดรหัส Base64
เข้ารหัสข้อความเป็น Base64 หรือถอดรหัส Base64 กลับเป็นข้อความ รวมแบบปลอดภัยสำหรับ URL
เกี่ยวกับเครื่องมือนี้
Base64 เปลี่ยนไบต์ใด ๆ ให้เป็นชุดอักขระ 64 ตัวที่รอดพ้นจากการถูกวางลงใน JSON, URL, ส่วนหัว HTTP และอีเมล เครื่องมือนี้แปลงได้สองทาง: พิมพ์หรือวางข้อความเพื่อเข้ารหัส หรือวางก้อนข้อมูลที่เข้ารหัสไว้เพื่อกู้ต้นฉบับกลับมา UTF-8 ถูกจัดการอย่างถูกต้องทั้งสองทาง อิโมจิและอักษรที่ไม่ใช่ละตินจึงกลับไปกลับมาได้โดยไม่เพี้ยน
ตัวถอดรหัสถูกออกแบบให้ผ่อนปรนโดยตั้งใจ: มันรับชุดอักขระแบบปลอดภัยสำหรับ URL (- และ _ แทน + และ /) ตัดช่องว่างและการขึ้นบรรทัดใหม่ทิ้ง และเติม padding ที่หายไปก่อนถอดรหัส — สามเรื่องที่ทำให้ตัวถอดรหัสที่เข้มงวดกว่ามักปฏิเสธข้อมูลที่จริง ๆ แล้วกู้คืนได้ หากไบต์ที่ถอดออกมาไม่ใช่ข้อความ UTF-8 ที่ถูกต้อง เครื่องมือจะบอกตรง ๆ แทนที่จะพิมพ์อักขระเละ ๆ ซึ่งมักหมายความว่าข้อมูลนั้นเป็นข้อมูลไบนารีอย่างเช่นรูปภาพ
ทุกอย่างเกิดขึ้นภายในหน้านี้ การถอดรหัสโทเคนหรือข้อมูลรับรองที่นี่จึงไม่ส่งมันไปที่ใดเลย
คำถามที่พบบ่อย
- ทำไมสตริง Base64 ของฉันลงท้ายด้วยเครื่องหมาย =?
- Base64 เข้ารหัส 3 ไบต์เป็น 4 อักขระ ดังนั้นเมื่อความยาวข้อมูลเข้าไม่หารด้วย 3 ลงตัว ผลลัพธ์จะถูกเติมด้วย = เพื่อให้กลุ่มลงตัว padding ไม่ได้บรรจุข้อมูลใด ๆ และตัวถอดรหัสนี้จะเติมคืนให้อัตโนมัติหากมันถูกตัดออกไป
- Base64 มาตรฐานกับแบบปลอดภัยสำหรับ URL ต่างกันอย่างไร?
- Base64 มาตรฐานใช้ + และ / ซึ่งมีความหมายพิเศษใน URL และต้องถูกเข้ารหัสซ้ำอีกชั้น ส่วนแบบปลอดภัยสำหรับ URL (RFC 4648 §5) เปลี่ยนมาใช้ - และ _ และมักตัด padding ทิ้ง เช่น JWT ใช้รูปแบบนี้ ตัวเข้ารหัสที่นี่มีให้เลือกทั้งสองแบบ ส่วนตัวถอดรหัสรับได้ทั้งคู่โดยอัตโนมัติ
- Base64 คือการเข้ารหัสลับหรือไม่?
- ไม่ใช่ Base64 เป็นการเข้ารหัสที่ย้อนกลับได้และไม่มีกุญแจ — ใครก็ถอดได้ มันปกป้องข้อมูลจากความเสียหายระหว่างส่ง ไม่ใช่จากการถูกอ่าน หากคุณต้องการความลับ ให้เข้ารหัสลับก่อนแล้วค่อยเข้ารหัส Base64 กับข้อความที่เข้ารหัสแล้ว
- ทำไมการถอดรหัสบอกว่าผลลัพธ์ไม่ใช่ UTF-8 ที่ถูกต้อง?
- สตริงถอดรหัสสำเร็จ แต่ไบต์ที่ได้ไม่ใช่ข้อความ — มักเป็น PNG, PDF หรือข้อมูลที่ถูกบีบอัด/เข้ารหัสลับไว้ การนำเนื้อหาแบบนั้นมาแสดงในกล่องข้อความจะได้แต่ตัวอักษรเละ เครื่องมือจึงแจ้งเตือนแทน