สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
Caesar Cipher เป็นรหัสโบราณที่ใช้กันอย่างแพร่หลายซึ่งง่ายต่อการเข้ารหัสและถอดรหัส มันทำงานโดยการย้ายตัวอักษรของตัวอักษรเพื่อสร้างตัวอักษรใหม่ทั้งหมด (ABCDEF สามารถเปลี่ยนตัวอักษรได้มากกว่า 4 ตัวและจะกลายเป็น EFGHIJ)
Caesar Cipher ไม่ใช่รหัสที่ปลอดภัยที่สุด แต่เหมาะสำหรับงานเล็กๆ เช่น ส่งต่อบันทึกลับหรือทำให้รหัสผ่านแข็งแกร่งขึ้นเล็กน้อย การถอดรหัสรหัสเป็นเรื่องง่ายมาก แต่การเข้ารหัสอาจเป็นเรื่องที่น่าเบื่อหากคุณไม่ได้จดจำตัวอักษรพิเศษ
เพื่อให้กระบวนการนี้ง่ายขึ้น เราสามารถใช้พลังของคอมพิวเตอร์ โดยเฉพาะอย่างยิ่งภาษาการเขียนโปรแกรม Python
คำแนะนำนี้จะแสดงวิธีสร้างโปรแกรมที่แปลงข้อความเป็นรหัสตามคำสั่งของคุณ
เสบียง
สิ่งที่คุณต้องมีคือล่าม Python: IDLE, Pycharm และ Thonny เป็นตัวเลือกที่ดีและฟรี (ฉันใช้ Pycharm)
ความรู้พื้นฐานของ Python
ขั้นตอนที่ 1: การประกาศตัวแปรและรับอินพุต
ในการจัดเก็บค่าสตริง (ข้อความ) ของตัวอักษร ข้อความ shift ฯลฯ เราจำเป็นต้องใช้ตัวแปร เราเริ่มต้นด้วยการประกาศตัวแปร 'alphabet', 'partialOne', 'partialTwo' และ 'newAlphabet' ฉันได้เขียนชื่อของตัวแปรใน Camel Case ในโค้ดของฉันแล้ว (คำแรกเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ที่สอง) แต่คุณสามารถเขียนมันในแบบที่คุณต้องการได้ ตราบใดที่คุณอย่าลืมเปลี่ยนมันตลอดทั้งโค้ดที่เหลือด้วย. ตัวแปรตัวอักษรมีค่า "abcdefghijklmnopqrstuvwxyz" ตัวแปรอื่นๆ ทั้งหมดถูกตั้งค่าเป็น "" ซึ่งเป็นสตริงว่างเนื่องจากเรายังไม่มีค่าของมัน
การทำเช่นนี้คือการตั้งค่าระบบบางส่วน ซึ่งเป็นสิ่งที่เราใช้เพื่อสร้างกะ ซึ่งจะอธิบายในขั้นตอนต่อไป
หลังจากนี้เราต้องรับข้อความและเปลี่ยนค่าจากผู้ใช้ เราใช้ฟังก์ชันอินพุตเพื่อทำสิ่งนี้ รหัสส่วนนี้ขอข้อความและตัวเลขจากผู้ใช้เพื่อเปลี่ยนตัวอักษร
รหัส:
ตัวอักษร = "abcdefghijklmnopqrstuvwxyz"
บางส่วน = ""
บางส่วนสอง=""
newAlphabet=""
message = input("โปรดป้อนข้อความที่คุณต้องการแปล: ").lower()
key = int(input("โปรดป้อนหมายเลขที่คุณต้องการเปลี่ยนโดย: "))
ขั้นตอนที่ 2: การสร้างตัวอักษรใหม่
ตอนนี้เพื่อสร้างตัวอักษรที่เลื่อน ในการทำเช่นนี้เราจะใช้ระบบบางส่วน ระบบบางส่วนเป็นที่ที่คอมพิวเตอร์แบ่งตัวอักษรออกเป็นสองส่วน ส่วนแรกนั้นยาวแค่ไหนที่คุณบอกให้โปรแกรมเปลี่ยน และส่วนที่สองคือส่วนที่เหลือ คอมพิวเตอร์สลับบางส่วน นั่นคือสิ่งที่โค้ดทำ ร่วมกับคำสั่งแรกซึ่งบอกว่าถ้า shift เป็น 0 ตัวอักษรใหม่และตัวอักษรเก่าจะเหมือนกันเนื่องจากคุณไม่ได้เปลี่ยนอะไรเลย
ตัวอย่างเช่น:
ลำดับ - 123456789
บางส่วน - 123; ส่วนที่สอง - 456789
ลำดับใหม่ - 456789123
รหัส:
ถ้าคีย์ == 0:
newAlphabet = ตัวอักษร
ปุ่ม elif > 0:
บางส่วน = ตัวอักษร[:คีย์]
PartialTwo = ตัวอักษร[คีย์:]
newAlphabet = partialTwo + partialOne
อื่น:
partialOne = ตัวอักษร[:(26 + คีย์)]
PartialTwo = ตัวอักษร[(26 + คีย์):]
newAlphabet = partialTwo + partialOne
ขั้นตอนที่ 3: เลื่อนข้อความ
ตอนนี้เรามีตัวอักษรและตัวอักษรใหม่แล้ว ที่เหลือก็แค่เปลี่ยนข้อความเป็นรหัส
ขั้นแรก เราตั้งค่าตัวแปรใหม่และเรียกมันว่า 'เข้ารหัส' และตั้งค่าเป็น "" จากนั้นเราเขียน for-loop ที่ซับซ้อน ซึ่งจะตรวจสอบแต่ละตัวอักษรในข้อความและเปลี่ยนเป็นตัวอักษรใหม่ มันส่งผลลัพธ์และคุณก็มีโค้ดที่แปลงสำเร็จแล้ว!
รหัส:
encrypted=""สำหรับ message_index ในช่วง (0, len (ข้อความ)):
ถ้า message[message_index] == " ":
เข้ารหัส+= ""
สำหรับ alphabet_index ในช่วง(0, len(newAlphabet)):
ถ้าข้อความ[message_index] == ตัวอักษร[alphabet_index]:
เข้ารหัส+= newAlphabet[alphabet_index]
พิมพ์ (เข้ารหัส)
ขั้นตอนที่ 4: เพิ่มเติม
ไฟล์แนบเป็นไฟล์โค้ด