
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02

Cæsar -krypteringen er en gammel og mye brukt kryptering som er lett å kryptere og dekryptere. Det fungerer ved å flytte bokstavene i alfabetet over for å lage et helt nytt alfabet (ABCDEF kan skifte over 4 bokstaver og ville bli EFGHIJ).
Caesar Ciphers er ikke de sikreste chifferene der ute, men er gode for små oppgaver som å sende hemmelige notater eller gjøre passord litt sterkere. Det er veldig enkelt å dechiffrere koden, men det kan være kjedelig å kryptere en hvis du ikke har det spesielle alfabetet lagret.
For å gjøre denne prosessen enklere kan vi bruke kraften til datamaskiner, nærmere bestemt programmeringsspråket Python.
Denne instruksen viser deg hvordan du lager et program som konverterer meldinger til en kryptering på kommando.
Rekvisita
Alt du trenger er en Python -tolk: IDLE, Pycharm og Thonny er noen gode, gratis alternativer (jeg brukte Pycharm)
Grunnleggende kunnskap om Python
Trinn 1: Deklarere variabler og få innspill

For å faktisk lagre streng (tekst) verdiene til alfabetet, meldingen, skift, etc. må vi bruke variabler. Vi starter med å deklarere variablene 'alfabet', 'delvisOne', 'delvisTo' og 'nyttAlfabet'. Jeg har skrevet navnene på variablene i Camel Case i koden min (det første ordet er små og store bokstaver), men du kan skrive det som du vil, så lenge du husker å endre det gjennom resten av koden også. Alfabetvariabelen har verdien "abcdefghijklmnopqrstuvwxyz". Alle de andre variablene er satt til "", som er en tom streng da vi ikke har verdiene deres ennå.
Det dette gjør er å sette opp det delvise systemet, som er det vi bruker for å faktisk skape skiftet. Dette vil bli forklart i et senere trinn.
Etter dette må vi få meldingen og flytte verdien fra brukeren. Vi bruker inngangsfunksjonen for å gjøre dette. Denne delen av koden ber brukeren om en melding og et tall for å flytte alfabetet etter.
KODE:
alphabet = "abcdefghijklmnopqrstuvwxyz"
partialOne = ""
partialTwo = ""
newAlphabet = ""
melding = input ("Skriv inn meldingen du vil oversette:").lower ()
key = int (input ("Vennligst skriv inn tallet du vil flytte med:"))
Trinn 2: Opprette det nye alfabetet

Nå for å lage det skiftede alfabetet. For å gjøre dette, vil vi bruke delsystemet. Delsystemet er hvor datamaskinen deler alfabetet i to deler (en fancy måte å si deler på). Den første delen er imidlertid lang du ba programmet om å skifte forbi, og den andre er resten. Datamaskinen bytter partialene. Det er akkurat det koden gjør, sammen med den første setningen, som sier at hvis skiftet er 0, er det nye alfabetet og det gamle alfabetet det samme siden du ikke bytter noe.
For eksempel:
Sekvens - 123456789
Delvis en - 123; Del to - 456789
Ny sekvens - 456789123
KODE:
hvis nøkkel == 0:
newAlphabet = alfabet
elif -nøkkel> 0:
partialOne = alfabet [: nøkkel]
partialTwo = alfabet [nøkkel:]
newAlphabet = partialTwo + partialOne
ellers:
partialOne = alfabet [:(26 + nøkkel)]
partialTwo = alfabet [(26 + tast):]
newAlphabet = partialTwo + partialOne
Trinn 3: Skifte melding

Nå har vi vårt alfabet og det nye alfabetet. Det eneste som gjenstår er å bytte meldingen til koden.
Først setter vi en ny variabel og kaller den 'kryptert' og setter den til "". Deretter skriver vi en veldig komplisert for-loop som sjekker hver bokstav i meldingen og bytter den til den nye bokstaven. Den sender ut resultatet, og der har du det, en vellykket konvertert kode!
KODE:
encrypted = "" for message_index i området (0, len (melding)):
hvis melding [message_index] == "":
kryptert+= ""
for alphabet_index i området (0, len (newAlphabet)):
hvis melding [melding_indeks] == alfabet [alfabet_indeks]:
kryptert+= newAlphabet [alphabet_index]
skrive ut (kryptert)
Trinn 4: Tillegg


Vedlagt er kodefilen.
Anbefalt:
Synkronisering av mapper med Python: 5 trinn

Synkronisere mapper med Python: Denne instruksjonen viser deg hvordan du holder to mapper (og alle mappene i dem) synkronisert, så den ene er en direkte kopi av den andre. Ideell for sikkerhetskopiering av arbeid både lokalt, til en sky-/nettverksserver eller en USB -stasjon. Ingen erfaring med programmering er
Python Tic Tac Toe -spill: 4 trinn

Python Tic Tac Toe Game: python tic tac toe game dette spillet er laget i python som er et dataspråk jeg har brukt en python editor som heter: pycharm du kan også bruke vanlig python code editor også
Python Introduction - Katsuhiko Matsuda & Edwin Cijo - Grunnleggende: 7 trinn

Python Introduction - Katsuhiko Matsuda & Edwin Cijo - Grunnleggende: Hei, vi er 2 studenter i MYP 2. Vi vil lære deg grunnleggende om hvordan du koder Python. Det ble opprettet på slutten av 1980 -tallet av Guido van Rossum i Nederland. Det ble laget som en etterfølger av ABC -språket. Navnet er " Python " fordi når
Bill Cipher Pyramid Speaker: 9 trinn (med bilder)

Bill Cipher Pyramid Speaker: Dette prosjektet er inspirert av pyramidedesignet for Bill Cipher fra showet Gravity Falls og ble laget for Design Technology Class. For øyeblikket er produktet uferdig, og dette fungerer som en produksjonsplan. Siden vil bli oppdatert når produsenten
Vigenere Cipher With Arduino: 3 trinn

Vigenere Cipher With Arduino: For få år siden fanget Digital Fortress av Dan Brown oppmerksomheten min, og en spesiell ting festet meg. Kryptos, skulpturen av Jim Sanborn, som består av kryptert tekst, hvorav de to første delene er kryptert av Vigen's chiffer. JEG