ตัวเข้ารหัสและถอดรหัส Base85
Base85 อัดสี่ไบต์ให้เหลือห้าอักขระ ASCII ซึ่งแน่นกว่าอัตราส่วน “3 ต่อ 4” ของ Base64 เพราะใช้ชุดอักขระ 85 ตัวแทนที่จะเป็น 64 ตัว เครื่องมือนี้ใช้รูปแบบ Adobe Ascii85 ซึ่งเป็นรูปแบบที่อยู่ในไฟล์ PostScript และ PDF ตัวเข้ารหัสจะครอบผลลัพธ์ด้วยตัวคั่น <~ และ ~> เสมอ ส่วนตัวถอดรหัสรับข้อมูลที่มีหรือไม่มีตัวคั่นก็ได้
วิธีแปลง Base85 (Ascii85)
-
1
เลือกเข้ารหัสหรือถอดรหัส
การเข้ารหัสแปลงไบต์ดิบเป็น Ascii85 ส่วนการถอดรหัสแปลงสตริง Ascii85 กลับเป็นไบต์
-
2
วางข้อความของคุณ
วางไบต์ที่ต้องการเข้ารหัสหรือสตริง Ascii85 ที่ต้องการถอดรหัสลงในช่องป้อนข้อมูล
-
3
ตัวเข้ารหัสแบ่งทีละ 4 ไบต์
ทุกบล็อก 4 ไบต์จะกลายเป็นสตริง Base85 ขนาด 5 อักขระ บล็อกสุดท้ายจะถูกเติมเต็มแล้วตัดส่วนเกินที่ท้ายออก
-
4
คัดลอกผลลัพธ์
ผลลัพธ์ Ascii85 จะครอบด้วยตัวคั่น `<~` และ `~>` วางกลับเข้าไปอีกครั้งเพื่อถอดรหัส ตัวคั่นจะถูกนำออกโดยอัตโนมัติ
เปรียบเทียบขนาดที่เพิ่มขึ้น
| การเข้ารหัส | อักขระต่อ 4 ไบต์ | เพิ่มขึ้นเทียบกับไบนารี |
|---|---|---|
| Hex | 8 | +100% |
| Base64 | 5.33 (ปัดขึ้นเป็น 8 เมื่อมีการเติมเต็ม) | +37% |
| Base85 | 5 | +25% |
| ไบนารีดิบ | 4 | 0 |
ดังนั้นข้อมูลไบนารี 1 MB จะกลายเป็น 1.25 MB ใน Base85, 1.33 MB ใน Base64 และ 2 MB ใน hex
ชุดอักขระของ Ascii85
Ascii85 (Adobe): อักขระตั้งแต่ ! ถึง u (33–117 ใน ASCII) และใช้ z เป็นตัวย่อสำหรับไบต์ศูนย์สี่ตัว เป็นการเข้ารหัสมาตรฐานในสตรีม PostScript และ PDF โดยครอบด้วย <~...~>
Z85 (ZeroMQ) และชุดอักขระ RFC 1924 สำหรับ IPv6 เป็นการกำหนดอักขระ 85 ตัวเดียวกันในรูปแบบอื่น เครื่องมือนี้ไม่รองรับการเข้ารหัสสองแบบนี้ ดังนั้นสตริงที่เข้ารหัสด้วยรูปแบบเหล่านั้นจะถูกถอดรหัสอย่างผิดพลาดที่นี่
หลักคณิตศาสตร์ทำงานอย่างไร
ทุก 4 ไบต์จะถูกอ่านเป็นจำนวนเต็ม 32 บิตแบบ big-endian ชื่อ N อักขระผลลัพธ์ 5 ตัวคือหลักของ N ในฐาน 85 โดยเรียงจากหลักสูงสุดก่อน 85^5 = 4 437 053 125 ซึ่งมากกว่า 2^32 ดังนั้น 4 ไบต์จึงพอดีกับ 5 อักขระเสมอ
เมื่อใด Ascii85 จึงสำคัญ
เปิดไฟล์ PDF ใดก็ได้ในโปรแกรมแก้ไขข้อความแล้วค้นหา ASCII85Decode Adobe ใช้มันเป็นตัวกรองสำหรับภาพและฟอนต์ที่ฝังไว้ ซึ่งต้องผ่านการส่งแบบ 7 บิต (ระบบเก่าแนวแฟกซ์) การเข้ารหัสเดียวกันนี้ยังปรากฏในไฟล์ PostScript หลายไฟล์และในการส่งไบนารีที่ปลอดภัยสำหรับอีเมล
กรณีพิเศษ
- บล็อก 4 ไบต์ที่เป็นศูนย์ทั้งหมด: Ascii85 จะเข้ารหัสเป็นอักขระเดียว
zแทนที่จะเป็น!!!!! - บล็อกสุดท้ายที่ไม่เต็ม: เติมเต็มด้วยไบต์ศูนย์ แล้วตัดจำนวนอักขระผลลัพธ์ที่สอดคล้องกันออกที่ท้าย
คำถามที่พบบ่อย
ในแง่ที่ผลลัพธ์เล็กกว่า ใช่ แต่ในแง่ที่เข้ากันได้ทุกที่ ไม่ใช่ Ascii85 มีอักขระอย่าง <, >, &, " ที่ต้องใส่ตัวหลีกใน XML, JSON และ URL ส่วนเครื่องมือส่วนใหญ่รองรับ Base64 อยู่แล้วโดยพื้นฐาน
ในสตรีม PostScript และ PDF ซึ่งบริเวณที่เข้ารหัสจะถูกกำหนดด้วยตัวคั่น <~ และ ~> โปรแกรมดูและแก้ไข PDF จัดการการเข้ารหัสนี้โดยอัตโนมัติ
ไม่รองรับ รองรับเฉพาะ Adobe Ascii85 เท่านั้น Z85 (ZeroMQ) และชุดอักขระ RFC 1924 สำหรับ IPv6 กำหนดอักขระ 85 ตัวต่างกัน ดังนั้นสตริงที่เข้ารหัสด้วยรูปแบบเหล่านั้นจะถูกถอดรหัสอย่างผิดพลาดที่นี่
เพราะใช้กำหนดบริเวณที่เข้ารหัสตามแบบแผนของ Ascii85 ตัวเข้ารหัสจะเพิ่มให้เสมอ และตัวถอดรหัสจะนำออกโดยอัตโนมัติหากมีอยู่ คุณสามารถวางสตริงที่ไม่มีตัวคั่นได้เช่นกัน
เครื่องมือที่เกี่ยวข้อง
ตัวเข้ารหัสไฟล์ Base64
เข้ารหัสไฟล์ใดก็ได้ (PDF, ZIP, รูปภาพ, ไฟล์ปฏิบัติการ) เป็นข้อความ Base64 เพื่อฝังใน JSON, อีเมล, YAML หรือ data URI ทำงานในเครื่องของคุณ ไม่มีการอัปโหลด
ตัวเข้ารหัสและถอดรหัส Base58
เข้ารหัสข้อความ UTF-8 หรือไบต์เลขฐานสิบหก และถอดรหัส Base58 อย่างปลอดภัยด้วยชุดอักขระ Bitcoin, Ripple หรือ Flickr
เครื่องมือเข้ารหัสซีซาร์
เข้ารหัสและถอดรหัสข้อความด้วยรหัสซีซาร์ เลื่อนได้ตั้งแต่ 1-25 รองรับ ROT13 เป็นกรณีพิเศษ และคงเครื่องหมายวรรคตอนกับตัวพิมพ์ใหญ่-เล็กไว้เหมือนเดิม
ตัวสร้าง bcrypt
สร้าง bcrypt hash จากรหัสผ่าน plaintext ปรับ cost factor ได้ตั้งแต่ 4 ถึง 13 ใช้ร่วมกับ Laravel, Django, Node และ PHP ได้
ตัวเข้ารหัสรหัสลับ A1Z26
เข้ารหัสข้อความด้วยรหัสลับ A1Z26 (A=1, B=2, ... Z=26) หรือถอดรหัสลำดับตัวเลขกลับเป็นตัวอักษร พร้อมปรับตัวคั่นได้
เข้ารหัส / ถอดรหัส AES
เข้ารหัสและถอดรหัสข้อความความเสี่ยงต่ำด้วย AES cipher ของ OpenSSL passphrase จะถูก hash ด้วย SHA-256 และผลลัพธ์ Base64 มี IV รวมกับข้อความเข้ารหัส
เครื่องมือนี้มีให้บริการในภาษาอื่น
- مشفر ومفكك Base85 [AR]
- Encodeur et décodeur Base85 [FR]
- Base85 인코더 및 디코더 [KO]
- Base85-kodare och avkodare [SV]
- Base85 encoder en decoder [NL]
- Base85-Encoder/Decoder [DE]
- Codificador y Decodificador Base85 [ES]
- Koder i dekoder Base85 [PL]
- Encoder dan Decoder Base85 [ID]
- Base85エンコーダー・デコーダー [JA]
- Bộ mã hóa và giải mã Base85 [VI]
- Codificador e Decodificador Base85 [PT]
- Base85 Encoder and Decoder [EN]
- Codificatore e Decodificatore Base85 [IT]
- Кодировщик и декодировщик Base85 [RU]
- Base85 Kodlayıcı ve Çözücü [TR]
- Base85 编码器和解码器 [ZH]