INHOUDSOPGAWE:

Caesar Cipher -program in Python: 4 stappe
Caesar Cipher -program in Python: 4 stappe

Video: Caesar Cipher -program in Python: 4 stappe

Video: Caesar Cipher -program in Python: 4 stappe
Video: Python - Caesar cipher 2024, November
Anonim
Caesar Cipher -program in Python
Caesar Cipher -program in Python

Die Caesar Cipher is 'n antieke en wyd gebruikte kode wat maklik is om te enkripteer en te ontsyfer. Dit werk deur die letters van die alfabet oor te skuif om 'n heeltemal nuwe alfabet te skep (ABCDEF kan oor 4 letters skuif en word EFGHIJ).

Caesar Ciphers is nie die veiligste sifers wat daar is nie, maar is goed vir klein take, soos om geheime aantekeninge deur te gee of om wagwoorde 'n bietjie sterker te maak. Dit is regtig maklik om die kode te ontsyfer, maar dit kan vervelig wees om een te enkripteer as u nie die spesiale alfabet in die geheue het nie.

Om hierdie proses makliker te maak, kan ons die krag van rekenaars gebruik, meer spesifiek die programmeertaal Python.

Hierdie instruksie sal u wys hoe u 'n program kan skep wat boodskappe in u kode kan omskep.

Voorrade

Al wat u nodig het, is 'n Python -tolk: IDLE, Pycharm en Thonny is 'n paar goeie, gratis opsies (ek het Pycharm gebruik)

Basiese kennis van Python

Stap 1: Verklaar veranderlikes en kry insette

Verklaring van veranderlikes en insette
Verklaring van veranderlikes en insette

Om die string (teks) waardes van die alfabet, boodskap, skuif, ens. Te stoor, moet ons veranderlikes gebruik. Ons begin deur die veranderlikes 'alfabet', 'gedeeltelikOne', 'gedeeltelikTwee' en 'nuweAlfabet' te verklaar. Ek het die name van die veranderlikes in Camel Case in my kode geskryf (die eerste woord is klein en die tweede hoofletter), maar u kan dit skryf soos u wil, solank u onthou om dit ook in die res van die kode te verander. Die alfabetveranderlike het die waarde "abcdefghijklmnopqrstuvwxyz". Al die ander veranderlikes is ingestel op "", wat 'n leë string is, aangesien ons nog nie hul waardes het nie.

Wat dit doen, is om die Gedeeltelike stelsel op te stel, wat ons gebruik om die verskuiwing werklik te skep. Dit sal in 'n latere stap verduidelik word.

Hierna moet ons die boodskap kry en die waarde van die gebruiker afskuif. Ons gebruik die invoerfunksie om dit te doen. Hierdie deel van die kode vra die gebruiker 'n boodskap en 'n nommer om die alfabet deur te skuif.

KODE:

alfabet = "abcdefghijklmnopqrstuvwxyz"

partialOne = ""

partialTwo = ""

newAlphabet = ""

message = input ("Voer die boodskap in wat u wil vertaal:").lower ()

sleutel = int (invoer ("Voer die nommer in waarmee u wil skuif:"))

Stap 2: Skep die nuwe alfabet

Die skep van die nuwe alfabet
Die skep van die nuwe alfabet

Nou om die verskuifde alfabet te skep. Om dit te doen, gebruik ons die gedeeltelike stelsel. Die gedeeltelike stelsel is waar die rekenaar die alfabet in twee gedeeltes verdeel ('n fancy manier om dele te sê). Die eerste gedeelte is egter lank, maar u het gesê dat die program moet verbygaan, en die tweede een is die res. Die rekenaar skakel die deeltjies oor. Dit is presies wat die kode doen, tesame met die eerste stelling, wat sê dat as die verskuiwing 0 is, die nuwe alfabet en die ou alfabet dieselfde is, aangesien u niks verander nie.

Byvoorbeeld:

Volgorde - 123456789

Gedeeltelik Een - 123; Gedeeltelik twee - 456789

Nuwe volgorde - 456789123

KODE:

as sleutel == 0:

newAlphabet = alfabet

elif sleutel> 0:

partialOne = alfabet [: sleutel]

partialTwo = alfabet [sleutel:]

newAlphabet = partialTwo + partialOne

anders:

partialOne = alfabet [:(26 + sleutel)]

partialTwo = alfabet [(26 + sleutel):]

newAlphabet = partialTwo + partialOne

Stap 3: Skuif van die boodskap

Die verskuiwing van die boodskap
Die verskuiwing van die boodskap

Nou het ons ons alfabet en die nuwe alfabet. Al wat oorgebly het, is om die boodskap in die kode oor te skakel.

Eerstens stel ons 'n nuwe veranderlike en noem dit 'geïnkripteer' en stel dit op "". Dan skryf ons 'n baie ingewikkelde for-lus wat elke letter in die boodskap kontroleer en dit oorskakel na die nuwe letter. Dit lewer die resultaat uit, en daar het u dit, 'n suksesvol omgeskakel kode!

KODE:

encrypted = "" vir message_index in reeks (0, len (boodskap)):

as boodskap [message_index] == "":

geïnkripteer+= ""

vir alphabet_index in reeks (0, len (newAlphabet)):

as boodskap [message_index] == alfabet [alphabet_index]:

geïnkripteer+= newAlphabet [alphabet_index]

druk (geïnkripteer)

Stap 4: Bykomend

Bykomend
Bykomend
Bykomend
Bykomend

Aangeheg is die kode lêer.

Aanbeveel: