ในบทความต่อไปเราจะมาดูกัน เราจะเข้ารหัสและถอดรหัสจากเทอร์มินัลด้วย base64 ได้อย่างไร. การเข้ารหัสเป็นกระบวนการที่ใช้ในการแปลงข้อมูลให้อยู่ในรูปแบบที่จำเป็นสำหรับการส่งหรือการจัดเก็บที่มีประสิทธิภาพ ในทางตรงกันข้ามการถอดรหัสจะตรงกันข้ามกับวิธีการเข้ารหัสที่แปลงข้อมูลที่เข้ารหัสเป็นรูปแบบดั้งเดิม Base64 เป็นกระบวนการเข้ารหัสที่ข้อมูลไบนารีถูกแปลงเป็น ASCII.
การเข้ารหัส Base64 ส่วนใหญ่จะใช้เพื่อหลีกเลี่ยงปัญหาการส่งซึ่งเกิดขึ้นเมื่อข้อมูลไบนารีถูกส่งไปยังระบบข้อความที่ไม่สามารถจัดการกับข้อมูลไบนารีนี้ได้อย่างถูกต้อง เป็นผลให้ข้อมูลสูญหายหรือเสียหายระหว่างการส่ง
ฐาน 64 เป็นระบบเลขตำแหน่งที่ใช้ 64 เป็นฐาน. เป็นพลังสูงสุดที่สามารถแสดงโดยใช้อักขระ ASCII ที่พิมพ์ได้เท่านั้น สิ่งนี้นำไปสู่การใช้สำหรับการเข้ารหัสอีเมล PGP และแอปพลิเคชันอื่น ๆ ตัวแปรที่มีชื่อเสียงทั้งหมดที่ใช้ชื่อ Base64 ใช้ช่วงอักขระ AZ, az และ 0-9 ตามลำดับนี้สำหรับ 62 หลักแรก แต่สัญลักษณ์ที่เลือกสำหรับสองหลักสุดท้ายจะแตกต่างกันไปมาก การใช้การเข้ารหัสบางส่วน ได้แก่ บีบอัดข้อมูลซ่อนข้อมูลหรือส่งข้อมูลในรูปแบบอื่น.
ในบรรทัดต่อไปนี้เราจะเห็น วิธีใช้คำสั่ง base64 เพื่อเข้ารหัสและถอดรหัสข้อมูลในสตริงหรือไฟล์. ในการทำตัวอย่างนี้ฉันจะใช้เทอร์มินัล (Ctrl + Alt + T) ของระบบ Focal Fossa ของ Ubuntu 20.04
ไวยากรณ์สำหรับการเข้ารหัสโดยใช้ Base64
base64 [OPCIÓN] ... [ARCHIVO]
ตัวเลือก
บางตัวเลือก บรรทัดคำสั่งที่สามารถใช้กับคำสั่ง base64 ได้แก่ :
- -ช่วยด้วย →เราจะใช้ตัวเลือกนี้เพื่อ แสดงความช่วยเหลือในการใช้ base64.
- -do - ถอดรหัส →เราจะใช้ตัวเลือกนี้เพื่อ ถอดรหัสไฟล์หรือสตริง.
- -i, –ignore- ขยะ →ตัวเลือกนี้จะช่วยเราในขณะที่เราถอดรหัส ละเว้นอักขระที่ไม่ใช่ตัวอักษร.
- -version →ตัวเลือกอื่น ๆ นี้ แสดงข้อมูลเกี่ยวกับเวอร์ชันที่เราใช้.
การเข้ารหัสสตริงด้วย Base64
ผู้ใช้สามารถ เข้ารหัสสตริงด้วยคำสั่ง base64. คำสั่งที่จะใช้คือ:
echo “Ubunlog” | base64
คำสั่งนี้ จะเข้ารหัสข้อความในสตริงโดยใช้ base64 และพิมพ์ข้อความที่เข้ารหัสไปยังเอาต์พุตมาตรฐาน.
นอกจากนี้เรายังสามารถ บันทึกเอาต์พุตที่เข้ารหัสเป็นไฟล์ แทนที่จะพิมพ์ลงในเอาต์พุตมาตรฐาน คำสั่งต่อไปนี้ จะเข้ารหัสข้อความและบันทึกผลลัพธ์ลงในไฟล์ชื่อ "encodedfile.txt«:
echo “texto de ejemplo” | base64 > archivoCodificado.txt
ไปยัง ดูเนื้อหาของไฟล์ที่เข้ารหัสเราสามารถใช้คำสั่ง แมวดังที่คุณเห็นในการจับภาพก่อนหน้านี้
สตริงการถอดรหัส
เราทำได้ ถอดรหัสข้อความที่เข้ารหัส base64 โดยใช้ตัวเลือก –decode หรือ -d. ในการถอดรหัสข้อความที่เข้ารหัส base64 '4oCcdGV4dG8gZGUgZWplbXBsb + KAnQo ='คำสั่งจะเป็น:
echo “4oCcdGV4dG8gZGUgZWplbXBsb+KAnQo=” | base64 --decode
คำสั่งนี้ จะพิมพ์ข้อความต้นฉบับไปยังเอาต์พุตมาตรฐาน ดังที่แสดงในภาพหน้าจอด้านบน
นอกจากนี้เรายังจะสามารถ บันทึกเอาต์พุตที่ถอดรหัสเป็นไฟล์แทนที่จะพิมพ์ไปยังเอาต์พุตมาตรฐาน คำสั่งต่อไปนี้จะถอดรหัสข้อความที่เข้ารหัสและบันทึกข้อความต้นฉบับในไฟล์ชื่อ "ไฟล์ถอดรหัส. txt"
echo “4oCcdGV4dG8gZGUgZWplbXBsb+KAnQo=” | base64 --decode > archivoDecodificado.txt
ไปยัง ดูเนื้อหาของไฟล์ที่ถอดรหัสเราสามารถใช้คำสั่ง แมว.
การเข้ารหัสไฟล์ข้อความ
คำสั่ง base64 ยังสามารถใช้ในการเข้ารหัสไฟล์ข้อความ. หากเราสนใจที่จะเข้ารหัสไฟล์ข้อความชื่อ 'archivotext.txt'คำสั่งที่จะใช้คือ:
base64 archivotexto.txt
คำสั่งนี้ จะเข้ารหัสไฟล์ข้อความที่ระบุและพิมพ์รูปแบบที่เข้ารหัสไปยังเอาต์พุตมาตรฐาน.
ด้วย เราสามารถบันทึกเอาต์พุตที่เข้ารหัสลงในไฟล์แทนที่จะพิมพ์ลงในเอาต์พุตมาตรฐาน คำสั่งต่อไปนี้จะแปลงข้อความในไฟล์โดยใช้ base64 และบันทึกผลลัพธ์เป็นไฟล์อื่นที่เรียกว่า "encodedfile.txt »:
base64 archivotexto.txt > archivoCodificado.txt
ไปยัง ดูเนื้อหาของไฟล์ที่เข้ารหัสเราสามารถใช้คำสั่ง แมว.
ถอดรหัสไฟล์ข้อความ
ไปยัง ถอดรหัสไฟล์ข้อความที่เข้ารหัสเราจะต้องใช้ตัวเลือก –decode หรือ -d. ในการถอดรหัสเนื้อหาของไฟล์ข้อความที่เข้ารหัส base64 'เข้ารหัสไฟล์. txt'คำสั่งที่จะใช้คือ:
base64 -d archivoCodificado.txt
คำสั่งนี้ จะถอดรหัสไฟล์ข้อความที่เข้ารหัส base64 และพิมพ์ข้อความต้นฉบับ บนเอาต์พุตมาตรฐาน
นอกจากนี้เรายังจะสามารถ บันทึกเอาต์พุตที่ถอดรหัสเป็นไฟล์แทนที่จะพิมพ์ไปยังเอาต์พุตมาตรฐาน คำสั่งต่อไปนี้จะถอดรหัสข้อความที่เข้ารหัสและบันทึกข้อความต้นฉบับในไฟล์ชื่อ "decodedfile.txtซึ่งสามารถดูได้ในภายหลังโดยใช้คำสั่ง แมว:
base64 -d archivoCodificado.txt > archivoDecodificado.txt
นี่คือวิธีที่คุณสามารถใช้ base64 เพื่อเข้ารหัสและถอดรหัสสตริงหรือไฟล์จากเทอร์มินัล สิ่งสำคัญคือต้องจำไว้ว่า การเข้ารหัสไม่คล้ายกับ การเข้ารหัสและสามารถเปิดเผยข้อมูลที่เข้ารหัสได้อย่างง่ายดาย ด้วยเหตุนี้จึงไม่แนะนำให้ใช้การเข้ารหัสสำหรับการส่งข้อมูลที่เป็นความลับ. ข้อมูลเพิ่มเติมใน วิกิพีเดีย.
ขอบคุณมากสำหรับคำอธิบายที่ชัดเจนมาก