INHOUDSOPGAWE:
- Voorrade
- Stap 1: Verklaar veranderlikes en kry insette
- Stap 2: Skep die nuwe alfabet
- Stap 3: Skuif van die boodskap
- Stap 4: Bykomend
Video: Caesar Cipher -program in Python: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
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
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
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
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
Aangeheg is die kode lêer.
Aanbeveel:
Gidse met Python sinchroniseer: 5 stappe
Gidse met Python sinchroniseer: hierdie instruksies sal u wys hoe u twee vouers (en alle gidse daarin) in ooreenstemming moet hou, sodat die een 'n direkte kopie van die ander is. Ideaal vir rugsteun van werk plaaslik, na 'n wolk-/netwerkbediener of 'n USB -skyf. Geen ervaring met programmering is nodig nie
Python Tic Tac Toe -spel: 4 stappe
Python Tic Tac Toe Game: python tic tac toe game hierdie speletjie is gemaak in python wat 'n rekenaartaal is, ek het 'n luislangredakteur genaamd: pycharm gebruik, u kan ook normale python -kode -redakteur gebruik
Atendente Automático Com Python No Google Colab: 5 stappe
Atendente Automático Com Python No Google Colab: Ongelooflik! Weet u hoe ons Guilherme, ons nie meer kan gebruik nie, kan ons ook op ChatBot gebruik word om 'n program vir Python of Google Colab te gebruik
Bill Cipher Pyramid Speaker: 9 stappe (met foto's)
Bill Cipher Pyramid Speaker: Hierdie projek is geïnspireer deur die piramide -ontwerp vir Bill Cipher uit die program Gravity Falls en is geskep vir Design Technology Class. Die produk is tans onvoltooid en dien as 'n produksieplan. Die bladsy sal opgedateer word wanneer die produk
Vigenere Cipher With Arduino: 3 stappe
Vigenere Cipher With Arduino: 'n Paar jaar gelede het Digital Fortress van Dan Brown my aandag getrek, en een ding het my bygedra. Kryptos, die beeldhouwerk van Jim Sanborn, wat bestaan uit gekodeerde teks waarvan die eerste twee dele deur Vigen & coder versleutel is. Ek