Innehållsförteckning:
- Tillbehör
- Steg 1: Deklarera variabler och få inmatningar
- Steg 2: Skapa det nya alfabetet
- Steg 3: Ändra meddelandet
- Steg 4: Ytterligare
Video: Caesar Cipher -program i Python: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:37
Caesar Cipher är en gammal och mycket använd kryptering som är lätt att kryptera och dekryptera. Det fungerar genom att flytta bokstäverna i alfabetet för att skapa ett helt nytt alfabet (ABCDEF kan skifta över 4 bokstäver och skulle bli EFGHIJ).
Caesar Ciphers är inte de säkraste chifferna där ute men är bra för små uppgifter som att skicka hemliga anteckningar eller göra lösenord lite starkare. Det är verkligen lätt att dechiffrera koden, men det kan vara tråkigt att kryptera en om du inte har det speciella alfabetet memorerat.
För att göra denna process enklare kan vi använda kraften hos datorer, närmare bestämt programmeringsspråket Python.
Denna instruktionsbok visar dig hur du skapar ett program som konverterar meddelanden till en kryptering på ditt kommando.
Tillbehör
Allt du behöver är en Python -tolk: IDLE, Pycharm och Thonny är några bra, gratis alternativ (jag använde Pycharm)
Grundläggande kunskaper i Python
Steg 1: Deklarera variabler och få inmatningar
För att faktiskt lagra strängvärdena (text) för alfabetet, meddelandet, skiftet etc. måste vi använda variabler. Vi börjar med att deklarera variablerna 'alphabet', 'partialOne', 'partialTwo' och 'newAlphabet'. Jag har skrivit namnen på variablerna i Camel Case i min kod (det första ordet är gemener och andra versaler) men du kan skriva det hur du vill, så länge du kommer ihåg att ändra det under resten av koden också. Alfabetvariabeln har värdet "abcdefghijklmnopqrstuvwxyz". Alla andra variabler är inställda på "", vilket är en tom sträng eftersom vi ännu inte har deras värden.
Vad detta gör är att konfigurera Partial -systemet, vilket är vad vi använder för att faktiskt skapa skiftet. Detta kommer att förklaras i ett senare steg.
Efter detta måste vi få meddelandet och flytta värdet från användaren. Vi använder inmatningsfunktionen för att göra detta. Denna del av koden ber användaren om ett meddelande och ett nummer för att flytta alfabetet med.
KODA:
alphabet = "abcdefghijklmnopqrstuvwxyz"
partiellOne = ""
partialTwo = ""
newAlphabet = ""
meddelande = input ("Ange meddelandet du vill översätta:").lower ()
key = int (input ("Ange det nummer du vill flytta med:"))
Steg 2: Skapa det nya alfabetet
Nu för att skapa det skiftade alfabetet. För att göra detta kommer vi att använda delsystemet. Delsystemet är där datorn delar upp alfabetet i två partialer (ett fint sätt att säga delar). Den första delen är dock lång du sa till programmet att byta förbi, och den andra är resten. Datorn byter partial. Det är exakt vad koden gör, tillsammans med det första påståendet, som säger att om skiftet är 0 är det nya alfabetet och det gamla alfabetet detsamma eftersom du inte byter någonting.
Till exempel:
Sekvens - 123456789
Partial One - 123; Del två - 456789
Ny sekvens - 456789123
KODA:
if nyckel == 0:
newAlphabet = alfabet
elif -nyckel> 0:
partialOne = alfabetet [: key]
partialTwo = alfabetet [key:]
newAlphabet = partialTwo + partialOne
annan:
partialOne = alfabetet [:(26 + nyckel)]
partiellTvå = alfabetet [(26 + tangent):]
newAlphabet = partialTwo + partialOne
Steg 3: Ändra meddelandet
Nu har vi vårt alfabet och det nya alfabetet. Allt som återstår är att byta meddelande till koden.
Först ställer vi in en ny variabel och kallar den 'krypterad' och ställer den till "". Sedan skriver vi en riktigt komplicerad for-loop som kontrollerar varje bokstav i meddelandet och byter den till den nya bokstaven. Det matar ut resultatet och där har du det, en framgångsrikt konverterad kod!
KODA:
encrypted = "" för message_index inom intervall (0, len (meddelande)):
if meddelande [message_index] == "":
krypterad+= ""
för alphabet_index inom intervall (0, len (newAlphabet)):
om meddelande [message_index] == alfabetet [alphabet_index]:
krypterad+= newAlphabet [alphabet_index]
skriva ut (krypterat)
Steg 4: Ytterligare
Kodfilen bifogas.
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Bill Cipher Pyramid Speaker: 9 steg (med bilder)
Bill Cipher Pyramid Speaker: Detta projekt är inspirerat av pyramiddesignen för Bill Cipher från showen Gravity Falls och skapades för Design Technology Class. För närvarande är produkten oavslutad och den fungerar som en produktionsplan. Sidan kommer att uppdateras när produkten
Vigenere Cipher With Arduino: 3 steg
Vigenere Cipher With Arduino: För några år sedan fick Digital Fortress av Dan Brown min uppmärksamhet och en särskild sak fastnade för mig. Kryptos, skulpturen av Jim Sanborn som består av krypterad text varav de två första delarna är krypterade av Vigen's chiffer. Jag