สารบัญ:

โปรแกรม Caesar Cipher ใน Python: 4 ขั้นตอน
โปรแกรม Caesar Cipher ใน Python: 4 ขั้นตอน

วีดีโอ: โปรแกรม Caesar Cipher ใน Python: 4 ขั้นตอน

วีดีโอ: โปรแกรม Caesar Cipher ใน Python: 4 ขั้นตอน
วีดีโอ: การเข้ารหัสแบบ Caesar Cipher ด้วยภาษา Python แบบที่ 1 2024, ธันวาคม
Anonim
โปรแกรม Caesar Cipher ใน Python
โปรแกรม Caesar Cipher ใน Python

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: เพิ่มเติม

เพิ่มเติม
เพิ่มเติม
เพิ่มเติม
เพิ่มเติม

ไฟล์แนบเป็นไฟล์โค้ด

แนะนำ: