Sommario:

Programma Caesar Cipher in Python: 4 passaggi
Programma Caesar Cipher in Python: 4 passaggi

Video: Programma Caesar Cipher in Python: 4 passaggi

Video: Programma Caesar Cipher in Python: 4 passaggi
Video: Caesar Cipher Program in Python | Encryption and Decryption With Caesar Cipher 2024, Novembre
Anonim
Programma Caesar Cipher in Python
Programma Caesar Cipher in Python

Il Caesar Cipher è un cifrario antico e ampiamente utilizzato che è facile da crittografare e decifrare. Funziona spostando le lettere dell'alfabeto per creare un alfabeto completamente nuovo (ABCDEF potrebbe spostarsi di 4 lettere e diventerebbe EFGHIJ).

I cifrari Caesar non sono i cifrari più sicuri in circolazione, ma sono utili per piccoli compiti come passare note segrete o rendere le password un po' più forti. È davvero facile decifrare il codice, ma può essere noioso crittografarne uno se non hai memorizzato l'alfabeto speciale.

Per rendere questo processo più semplice, possiamo usare la potenza dei computer, in particolare il linguaggio di programmazione Python.

Questo Instructable ti mostrerà come creare un programma che converte i messaggi in un codice al tuo comando.

Forniture

Tutto ciò di cui hai bisogno è un interprete Python: IDLE, Pycharm e Thonny sono alcune buone opzioni gratuite (ho usato Pycharm)

Conoscenza base di Python

Passaggio 1: dichiarazione delle variabili e acquisizione degli input

Dichiarare variabili e ottenere input
Dichiarare variabili e ottenere input

Per memorizzare effettivamente i valori stringa (testo) dell'alfabeto, del messaggio, dello spostamento, ecc., è necessario utilizzare le variabili. Iniziamo dichiarando le variabili 'alphabet', 'partialOne', 'partialTwo' e 'newAlphabet'. Ho scritto i nomi delle variabili in Camel Case nel mio codice (la prima parola è minuscola e la seconda maiuscola) ma puoi scriverla come vuoi, purché ti ricordi di cambiarla anche nel resto del codice. La variabile alfabetica ha il valore "abcdefghijklmnopqrstuvwxyz". Tutte le altre variabili sono impostate su "", che è una stringa vuota poiché non abbiamo ancora i loro valori.

Quello che sta facendo è impostare il sistema parziale, che è quello che stiamo usando per creare effettivamente il cambiamento. Questo verrà spiegato in un passaggio successivo.

Dopo questo, dobbiamo ottenere il messaggio e spostare il valore dall'utente. Usiamo la funzione di input per farlo. Questa parte del codice richiede all'utente un messaggio e un numero per spostare l'alfabeto.

CODICE:

alfabeto = "abcdefghijklmnopqrstuvwxyz"

parzialeUno=""

parzialeDue=""

newAlphabet=""

message = input("Inserisci il messaggio che vuoi tradurre: ").lower()

key = int(input("Inserisci il numero che vuoi spostare di: "))

Passaggio 2: creazione del nuovo alfabeto

Creare il nuovo alfabeto
Creare il nuovo alfabeto

Ora per creare l'alfabeto spostato. Per fare ciò, utilizzeremo il sistema parziale. Il sistema parziale è dove il computer divide l'alfabeto in due parziali (un modo elegante per dire parti). Il primo parziale è comunque lungo che hai detto al programma di passare, e il secondo è il resto. Il computer cambia i parziali. Questo è esattamente ciò che sta facendo il codice, insieme alla prima istruzione, che dice che se lo spostamento è 0, il nuovo alfabeto e il vecchio alfabeto sono gli stessi poiché non stai cambiando nulla.

Per esempio:

Sequenza - 123456789

Uno parziale - 123; Parziale Due - 456789

Nuova sequenza - 456789123

CODICE:

se chiave == 0:

newAlphabet = alfabeto

tasto elif > 0:

parzialeUno = alfabeto[:chiave]

parzialeDue = alfabeto[chiave:]

nuovoAlfabeto =parzialeDue +parzialeUno

altro:

parzialeUno = alfabeto[:(26 + chiave)]

parzialeDue = alfabeto[(26 + chiave):]

nuovoAlfabeto =parzialeDue +parzialeUno

Passaggio 3: spostare il messaggio

Spostare il messaggio
Spostare il messaggio

Ora abbiamo il nostro alfabeto e il nuovo alfabeto. Non resta che convertire il messaggio nel codice.

Per prima cosa, impostiamo una nuova variabile e la chiamiamo 'crittografata' e la impostiamo su "". Quindi scriviamo un ciclo for davvero complicato che controlla ogni lettera nel messaggio e la passa alla nuova lettera. Emette il risultato e il gioco è fatto, un codice convertito con successo!

CODICE:

criptato=""per message_index in range(0, len(message)):

if messaggio[indice_messaggio] == " ":

criptato+= ""

per Alphabet_index in range(0, len(newAlphabet)):

if messaggio[indice_messaggio] == alfabeto[indice_alfabetico]:

criptato+= nuovoAlphabet[alphabet_index]

stampa (crittografato)

Passaggio 4: aggiuntivo

Aggiuntivo
Aggiuntivo
Aggiuntivo
Aggiuntivo

In allegato il file del codice.

Consigliato: