Inhoudsopgave:

Caesar Cipher-programma in Python: 4 stappen
Caesar Cipher-programma in Python: 4 stappen

Video: Caesar Cipher-programma in Python: 4 stappen

Video: Caesar Cipher-programma in Python: 4 stappen
Video: Caesar Cipher Program in Python | Encryption and Decryption With Caesar Cipher 2024, November
Anonim
Caesar Cipher-programma in Python
Caesar Cipher-programma in Python

Het Caesar-cijfer is een oud en veelgebruikt cijfer dat gemakkelijk te versleutelen en ontcijferen is. Het werkt door de letters van het alfabet te verschuiven om een geheel nieuw alfabet te creëren (ABCDEF zou meer dan 4 letters kunnen verschuiven en zou EFGHIJ worden).

Caesar Ciphers zijn niet de veiligste cijfers die er zijn, maar zijn goed voor kleine taken zoals het doorgeven van geheime notities of het iets sterker maken van wachtwoorden. Het is heel gemakkelijk om de code te ontcijferen, maar het kan vervelend zijn om er een te coderen als je het speciale alfabet niet uit je hoofd hebt.

Om dit proces makkelijker te maken, kunnen we gebruik maken van de kracht van computers, meer bepaald de programmeertaal Python.

Deze Instructable laat je zien hoe je een programma maakt dat op jouw commando berichten omzet in een cijfer.

Benodigdheden

Alles wat je nodig hebt is een Python-interpreter: IDLE, Pycharm en Thonny zijn enkele goede, gratis opties (ik gebruikte Pycharm)

Basiskennis van Python

Stap 1: Variabelen declareren en invoer verkrijgen

Variabelen declareren en invoer verkrijgen
Variabelen declareren en invoer verkrijgen

Om de string (tekst) waarden van het alfabet, bericht, shift, etc. daadwerkelijk op te slaan, moeten we variabelen gebruiken. We beginnen met het declareren van de variabelen 'alphabet', 'partialOne', 'partialTwo' en 'newAlphabet'. Ik heb de namen van de variabelen in Camel Case in mijn code geschreven (het eerste woord is een kleine letter en de tweede hoofdletter), maar je kunt het schrijven zoals je wilt, zolang je eraan denkt om het ook in de rest van de code te veranderen. De alfabetvariabele heeft de waarde "abcdefghijklmnopqrstuvwxyz". Alle andere variabelen zijn ingesteld op "", wat een lege tekenreeks is omdat we hun waarden nog niet hebben.

Wat dit doet, is het Gedeeltelijke systeem opzetten, dat is wat we gebruiken om daadwerkelijk de verschuiving te creëren. Dit wordt in een latere stap uitgelegd.

Hierna moeten we het bericht en de verschuivingswaarde van de gebruiker krijgen. Hiervoor gebruiken we de invoerfunctie. Dit deel van de code vraagt de gebruiker om een bericht en een nummer waarmee het alfabet kan worden verschoven.

CODE:

alfabet = "abcdefghijklmnopqrstuvwxyz"

gedeeltelijkeEen=""

gedeeltelijkeTwo=""

nieuwAlphabet=""

message = input("Voer het bericht in dat u wilt vertalen: ").lower()

key = int(input("Voer het nummer in waarmee u wilt verschuiven: "))

Stap 2: Het nieuwe alfabet maken

Het nieuwe alfabet maken
Het nieuwe alfabet maken

Nu om het verschoven alfabet te maken. Hiervoor gebruiken we het partiële systeem. Het gedeeltelijke systeem is waar de computer het alfabet in twee gedeeltelijke delen splitst (een mooie manier om delen te zeggen). Het eerste deel is hoe lang je het programma ook hebt verteld om te verschuiven, en het tweede deel is de rest. De computer schakelt de deelpartijen. Dat is precies wat de code doet, samen met de eerste verklaring, die zegt dat als de verschuiving 0 is, het nieuwe alfabet en het oude alfabet hetzelfde zijn, omdat je niets verandert.

Bijvoorbeeld:

Volgorde - 123456789

Gedeeltelijke één - 123; Gedeeltelijke twee - 456789

Nieuwe reeks - 456789123

CODE:

als toets == 0:

newAlphabet = alfabet

elif-toets > 0:

gedeeltelijkeEen = alfabet[:toets]

gedeeltelijkeTwee = alfabet[sleutel:]

newAlphabet = gedeeltelijkTwee + gedeeltelijkEen

anders:

gedeeltelijkeEen = alfabet[:(26 + toets)]

gedeeltelijkeTwee = alfabet[(26 + toets):]

newAlphabet = gedeeltelijkTwee + gedeeltelijkEen

Stap 3: Het bericht verschuiven

Het bericht verschuiven
Het bericht verschuiven

Nu hebben we ons alfabet en het nieuwe alfabet. Het enige dat overblijft is om het bericht om te zetten in de code.

Eerst stellen we een nieuwe variabele in en noemen deze 'encrypted' en stellen deze in op "". Dan schrijven we een heel ingewikkelde for-loop die elke letter in het bericht controleert en naar de nieuwe letter overschakelt. Het voert het resultaat uit en daar heb je het, een succesvol geconverteerde code!

CODE:

versleuteld=""voor message_index in range(0, len(message)):

if message[message_index] == " ":

versleuteld+= ""

voor alfabet_index in bereik(0, len(newAlphabet)):

if message[message_index] == alfabet[alphabet_index]:

versleuteld+= newAlphabet[alphabet_index]

afdrukken (versleuteld)

Stap 4: Extra

Aanvullend
Aanvullend
Aanvullend
Aanvullend

Bijgevoegd is het codebestand.

Aanbevolen: