Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Muuttujien ilmoittaminen ja syötteiden saaminen
- Vaihe 2: Uuden aakkoston luominen
- Vaihe 3: Viestin siirtäminen
- Vaihe 4: Muuta
Video: Caesar Cipher -ohjelma Pythonissa: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Caesar Cipher on vanha ja laajalti käytetty salaus, joka on helppo salata ja purkaa. Se toimii siirtämällä aakkosten kirjaimia toisiinsa ja luomalla kokonaan uusi aakkosto (ABCDEF voisi siirtyä yli neljän kirjaimen yli ja muuttua EFGHIJ: ksi).
Caesar Ciphers eivät ole kaikkein turvallisimpia salauksia, mutta sopivat hyvin pieniin tehtäviin, kuten salaisten muistiinpanojen välittämiseen tai salasanojen vahvistamiseen. Koodin tulkinta on todella helppoa, mutta sen salaus voi olla työlästä, jos sinulla ei ole erityisiä aakkosia muistissa.
Tämän prosessin helpottamiseksi voimme käyttää tietokoneiden voimaa, tarkemmin sanoen ohjelmointikieltä Python.
Tämä opastettava opastaa sinua luomaan ohjelman, joka muuntaa viestit salaukseksi komentoosi.
Tarvikkeet
Tarvitset vain Python -tulkin: IDLE, Pycharm ja Thonny ovat hyviä, ilmaisia vaihtoehtoja (käytin Pycharmia)
Perustiedot Pythonista
Vaihe 1: Muuttujien ilmoittaminen ja syötteiden saaminen
Aakkosen, viestin, muutoksen jne. Merkkijonoarvojen (teksti) tallentamiseksi meidän on käytettävä muuttujia. Aloitamme ilmoittamalla muuttujat 'aakkoset', 'osittainen yksi', 'osittainen kaksi' ja 'uusi alfabetti'. Olen kirjoittanut koodiini Camel Case -muuttujien nimet (ensimmäinen sana on pieni ja toinen iso), mutta voit kirjoittaa sen haluamallasi tavalla, kunhan muistat muuttaa sen myös koko koodin. Aakkosmuuttujan arvo on "abcdefghijklmnopqrstuvwxyz". Kaikki muut muuttujat on asetettu arvoon "", joka on tyhjä merkkijono, koska meillä ei ole vielä niiden arvoja.
Tämä tekee osittaisen järjestelmän luomisen, jota käytämme todella muutoksen luomiseen. Tämä selitetään myöhemmässä vaiheessa.
Tämän jälkeen meidän on saatava viesti ja siirrettävä arvo käyttäjältä. Käytämme tähän syöttötoimintoa. Tämä koodin osa pyytää käyttäjältä viestin ja numeron, jolla aakkoset siirretään.
KOODI:
aakkoset = "abcdefghijklmnopqrstuvwxyz"
partialOne = ""
partTwo = ""
newAlphabet = ""
message = input ("Kirjoita viesti, jonka haluat kääntää:").lower ()
key = int (input ("Anna numero, jolla haluat siirtää:"))
Vaihe 2: Uuden aakkoston luominen
Luo nyt siirretty aakkoset. Tätä varten käytämme osittaista järjestelmää. Osittaisessa järjestelmässä tietokone jakaa aakkoset kahteen osaan (hieno tapa sanoa osia). Ensimmäinen osa on kuitenkin pitkä, kun kerroit ohjelmalle siirtyvän, ja toinen on loppuosa. Tietokone vaihtaa osia. Juuri sitä koodi tekee, ja ensimmäinen lause, joka sanoo, että jos siirto on 0, uusi aakkosto ja vanha aakkoset ovat samat, koska et muuta mitään.
Esimerkiksi:
Jakso - 123456789
Osittainen yksi - 123; Osa 2 - 456789
Uusi jakso - 456789123
KOODI:
jos avain == 0:
newAlphabet = aakkoset
elif -avain> 0:
partialOne = aakkoset [: näppäin]
partTwo = aakkoset [avain:]
newAlphabet = osittainenKaksi + osittainenYksi
muu:
PartOne = aakkoset [:(26 + näppäin]
partTwo = aakkoset [(26 + näppäin):]
newAlphabet = osittainenKaksi + osittainenYksi
Vaihe 3: Viestin siirtäminen
Nyt meillä on aakkosemme ja uusi aakkosemme. Jäljellä on vain vaihtaa viesti koodiksi.
Ensinnäkin asetamme uuden muuttujan ja kutsumme sen "salatuksi" ja asetamme sen arvoon "". Sitten kirjoitamme todella monimutkaisen silmukan, joka tarkistaa viestin jokaisen kirjaimen ja vaihtaa sen uuteen kirjaimeen. Se antaa tuloksen ja siellä on se, onnistuneesti muunnettu koodi!
KOODI:
encrypted = "" for message_index alueella (0, len (message)):
jos viesti [message_index] == "":
salattu+= ""
alphabet_index alueella (0, len (newAlphabet)):
jos viesti [message_index] == aakkoset [alphabet_index]:
salattu+= uusiAakkoset [aakkoset_indeksi]
tulosta (salattu)
Vaihe 4: Muuta
Liitteenä on kooditiedosto.
Suositeltava:
QR -koodinlukija OpenCV: n avulla Pythonissa: 7 vaihetta
QR-koodinlukija OpenCV: n avulla Pythonissa: Nykymaailmassa näemme, että QR-koodia ja viivakoodia käytetään lähes kaikkialla tuotteen pakkaamisesta verkkomaksuihin, ja nykyään näemme QR-koodit jopa ravintolassa nähdäksemme valikon. epäile, että se on nyt iso ajatus. Mutta oletko koskaan kärsinyt
Kosteuden ja lämpötilan tarkkailija, joka käyttää Raspberry Pi: tä SHT25: n kanssa Pythonissa: 6 vaihetta
Kosteuden ja lämpötilan tarkkailija, joka käyttää Raspberry Pi: tä SHT25: n kanssa Pythonissa: Raspberry Pi: n harrastajana ajattelimme joitakin upeampia kokeita sen kanssa. Tässä kampanjassa teemme kosteuden ja lämpötilan tarkkailijan, joka mittaa suhteellista kosteutta ja lämpötilaa käyttäen Raspberry Pi ja SHT25, Humidi
Lämpötilan muutoksen kuvaaminen ilmastonmuutoksesta Pythonissa: 6 vaihetta
Lämpötilan muutoksen kuvaaminen ilmastonmuutoksesta Pythonissa: Ilmastonmuutos on suuri ongelma. Ja monet ihmiset eivät nyt tiedä kuinka paljon se on noussut. Tässä ohjeessa kuvaamme ilmastonmuutoksen aiheuttaman ilmaston lämpötilan muutoksen. Huijausarkille voit katsoa alla olevan python -tiedoston
Tee todella viileä matriisi Pythonissa!: 6 vaihetta
Tee todella viileä matriisi Pythonissa!: Hei kaverit! Tämä ohje opettaa sinulle kuinka tehdä matriisi Pythonissa! Yleensä ihmiset tekisivät matriisin erässä, koska se on helppoa. Mutta tällä kertaa näytän sinulle, kuinka tehdä matriisi jollakin tehokkaista tietokoneen kielistä
Värin tunnistus Pythonissa OpenCV: n avulla: 8 vaihetta
Värin tunnistus Pythonissa OpenCV: n avulla: Hei! Tätä ohjetta käytetään opastamaan, kuinka tietty väri voidaan purkaa kuvasta pythonissa openCV -kirjaston avulla. Jos olet uusi tässä tekniikassa, älä huoli, tämän oppaan lopussa voit ohjelmoida oman värisi