สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: การประกาศตัวแปรและรับอินพุต
- ขั้นตอนที่ 2: การสร้างตัวอักษรใหม่
- ขั้นตอนที่ 3: เลื่อนข้อความ
- ขั้นตอนที่ 4: เพิ่มเติม
วีดีโอ: โปรแกรม Caesar Cipher ใน Python: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
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: เพิ่มเติม
ไฟล์แนบเป็นไฟล์โค้ด
แนะนำ:
โปรแกรม Python - ดอกเบี้ยทบต้นพร้อมเงินสมทบ/เงินฝากรายเดือน: 5 ขั้นตอน
โปรแกรม Python - ดอกเบี้ยทบต้นกับเงินสมทบรายเดือน: โปรแกรมคำนวณดอกเบี้ยทบต้นพร้อมเงินสมทบรายเดือนตอนสิ้นเดือน สูตรที่นำมาจาก TheCalculatorSite.com:ดอกเบี้ยทบต้นสำหรับเงินต้น: P(1+r/n)^(nt) ค่าในอนาคตของอนุกรม: PMT × (((1 + r/n)^nt - 1) / (r/n))
โปรแกรม Esp -01โดยใช้ Arduino: 3 ขั้นตอน
โปรแกรม Esp -01 โดยใช้ Arduino: สำหรับโปรแกรม esp8266 นั้นค่อนข้างเพราะมันไม่มีตัวแปลง USB เป็น ttl ในตัวหรือปุ่มรีเซ็ตใด ๆ
โปรแกรม MicroPython: ห้องน้ำถูกครอบครองหรือไม่: 8 ขั้นตอน (พร้อมรูปภาพ)
โปรแกรม MicroPython: ห้องน้ำถูกยึดหรือไม่: สำนักงานของเราเป็นสำนักงานกลุ่มใหญ่ที่มีห้องน้ำจำกัด"ฉัน" มักพบว่าฉันไม่มีที่ไปห้องน้ำเลยต้องรอนานจนรู้สึกเขินอาย การทดลองใช้ MakePython ESP8266 เพื่อตั้งค่าเซิร์ฟเวอร์ตรวจจับ
โปรแกรม MicroPython:สถานีตรวจอากาศขนาดเล็ก: 7 ขั้นตอน
โปรแกรม MicroPython:สถานีตรวจอากาศขนาดเล็ก: ตอนนี้เข้าสู่ฤดูหนาวแล้ว แต่ก็ยังรู้สึกร้อนอยู่บ้าง แม้ว่าฉันจะใส่แค่เสื้อยืด ซึ่งทำให้ฉันต้องการทราบอุณหภูมิปัจจุบัน ฉันจึงใช้เซ็นเซอร์ Micropython ESP32 และ DHT11 และสถานีตรวจอากาศแบบง่ายๆ เพื่อให้คุณได้ข้อมูลปั
โปรแกรม Python Para El Area De Un Diagrama PV: 4 ขั้นตอน
โปรแกรม Python Para El Area De Un Diagrama PV: Introducción al programaSe sabe que el área bajo la curva de un diagrama PV determina el trabajo hecho por por un gas ideal. En este programa se determinara el trabajo hecho por un gas que cumple con los datos tomados en la tabla de un