Cuprins:
- Provizii
- Pasul 1: declararea variabilelor și obținerea de intrări
- Pasul 2: Crearea noului alfabet
- Pasul 3: schimbarea mesajului
- Pasul 4: suplimentar
Video: Programul de cifrare Caesar în Python: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Cifrul Caesar este un cifru vechi și utilizat pe scară largă, ușor de criptat și decriptat. Funcționează prin deplasarea literelor alfabetului pentru a crea un alfabet complet nou (ABCDEF ar putea trece peste 4 litere și ar deveni EFGHIJ).
Cifrele Caesar nu sunt cele mai sigure cifre, dar sunt bune pentru sarcini mici, cum ar fi trecerea notelor secrete sau îmbunătățirea parolelor. Este foarte ușor să descifrezi codul, dar poate fi obositor să criptezi unul dacă nu ai memorat alfabetul special.
Pentru a face acest proces mai ușor, putem folosi puterea computerelor, mai precis limbajul de programare Python.
Acest instructable vă va arăta cum să creați un program care convertește mesajele într-un cifru la comanda dvs.
Provizii
Tot ce aveți nevoie este un interpret Python: IDLE, Pycharm și Thonny sunt câteva opțiuni bune, gratuite (am folosit Pycharm)
Cunoștințe de bază despre Python
Pasul 1: declararea variabilelor și obținerea de intrări
Pentru a stoca efectiv valorile șirului (text) ale alfabetului, mesajului, schimbării, etc. trebuie să folosim variabile. Începem prin declararea variabilelor „alfabet”, „partialOne”, „partialTwo” și „newAlphabet”. Am scris numele variabilelor în Camel Case în codul meu (primul cuvânt este cu litere mici și al doilea cu majuscule), dar îl puteți scrie în orice fel doriți, atâta timp cât vă amintiți să îl modificați și în restul codului. Variabila alfabet are valoarea „abcdefghijklmnopqrstuvwxyz”. Toate celelalte variabile sunt setate la „”, care este un șir gol, deoarece nu avem încă valorile lor.
Ceea ce face asta este configurarea sistemului parțial, care este ceea ce folosim pentru a crea efectiv schimbarea. Acest lucru va fi explicat într-un pas ulterior.
După aceasta, trebuie să primim mesajul și să schimbăm valoarea de la utilizator. Folosim funcția de intrare pentru a face acest lucru. Această parte a codului cere utilizatorului un mesaj și un număr pentru a schimba alfabetul cu.
COD:
alfabet = "abcdefghijklmnopqrstuvwxyz"
partialOne = ""
partialTwo = ""
newAlphabet = ""
message = input ("Vă rugăm să introduceți mesajul pe care doriți să-l traduceți:").lower ()
cheie = int (introducere („Vă rugăm să introduceți numărul cu care doriți să schimbați:”))
Pasul 2: Crearea noului alfabet
Acum, pentru a crea alfabetul deplasat. Pentru a face acest lucru, vom folosi sistemul parțial. Sistemul parțial este locul în care computerul împarte alfabetul în două parțiale (un mod fantezist de a spune părți). Prima parțială este oricât de lungă ați spus programului să treacă, iar a doua este restul. Calculatorul comută parțialele. Exact asta face codul, împreună cu prima afirmație, care spune că, dacă schimbarea este 0, noul alfabet și vechiul alfabet sunt aceleași, deoarece nu schimbați nimic.
De exemplu:
Secvență - 123456789
Partial One - 123; Partial Two - 456789
Nouă secvență - 456789123
COD:
dacă tasta == 0:
newAlphabet = alfabet
tasta elif> 0:
partialOne = alfabet [: cheie]
partialTwo = alfabet [cheie:]
newAlphabet = partialTwo + partialOne
altceva:
partialOne = alfabet [:(26 + cheie)]
partialTwo = alfabet [(26 + tasta):]
newAlphabet = partialTwo + partialOne
Pasul 3: schimbarea mesajului
Acum avem alfabetul nostru și noul alfabet. Nu mai rămâne decât să schimbați mesajul în cod.
Mai întâi, setăm o nouă variabilă și o numim „criptată” și o setăm la „”. Apoi scriem o buclă for foarte complicată care verifică fiecare literă din mesaj și o trece la noua literă. Acesta scoate rezultatul și iată-l, un cod convertit cu succes!
COD:
criptat = "" pentru mesaj_index în intervalul (0, len (mesaj)):
dacă mesajul [message_index] == "":
criptat + = ""
pentru alfabet_index în interval (0, len (alfabet nou)):
dacă mesajul [message_index] == alfabet [alphabet_index]:
criptat + = newAlphabet [alphabet_index]
print (criptat)
Pasul 4: suplimentar
Atașat este fișierul de cod.
Recomandat:
Programul de bază C ++: 11 pași
Programul de bază C ++: în acest program veți învăța elementele de bază ale c ++ prin codificarea unui program simplu c ++ pentru a face mai mulți utilizatori și a afișa acești utilizatori, sper să vă bucurați
Programul Python - Dobândă compusă cu contribuții lunare / depozit: 5 pași
Program Python - Dobândă compusă CU contribuții lunare / depozit: Program pentru calcularea dobânzii compuse cu contribuție lunară la sfârșitul lunii. Valoarea viitoare a unei serii: PMT × (((1 + r / n) ^ nt - 1) / (r / n))
Cum se utilizează pinii GPIO ai unui Raspberry Pi și Avrdude la programul Bit-bang DIMP 2 sau DA PIMP 2: 9 pași
Cum se utilizează pinii GPIO ai unui Raspberry Pi și programul Avrdude la Bit-bang DIMP 2 sau DA PIMP 2: Acestea sunt instrucțiuni pas cu pas despre cum să utilizați un Raspberry Pi și comanda gratuită open-source avrdude la bit-bang -programați un DIMP 2 sau DA PIMP 2. Presupun că sunteți familiarizat cu Raspberry Pi și linia de comandă LINUX. Nu trebuie să
Programul MicroPython: Toaleta este ocupată ?: 8 pași (cu imagini)
Programul MicroPython: Toaleta este ocupată ?: Biroul nostru este un birou de grup mare, cu spațiu de baie limitat. &Quot; I " de multe ori găsesc că nu am spațiu pentru a merge la baie, așa că trebuie să aștept atât de mult încât să mă simt jenat. Experimentul a folosit MakePython ESP8266 pentru a configura un server de detectare
Programul MicroPython : Mini stație meteo: 7 pași
Program MicroPython : Mini stație meteo: Acum este iarnă, dar încă se simte puțin cald, chiar dacă port doar un tricou, ceea ce mă face să vreau să știu temperatura actuală, așa că folosesc senzorii Micropython ESP32 și DHT11 și o stație meteo simplă, astfel încât să puteți obține actualul t