Forum >> Principianti >> cifrario di cesare

Pagina: 1

Ciao!

Questo codice serve per criptare una stringa col cifrario di cesare:

cifrario = {"a":"g", "b":"h", "c":"i", "d":"j", "e":"k", "f":"l", "g":"m", \
            "h":"n", "i":"o", "j":"p", "k":"q", "l":"r", "m":"s", "n":"t", \
            "o":"u", "p":"v", "q":"w", "r":"x", "s":"y", "t":"z", "u":"a", \
            "v":"b", "w":"c", "x":"d", "y":"e", "z":"f"}

def crypto(stringa):
    nuova_stringa = ""
    for carattere in stringa:
        if carattere in cifrario:
            nuova_stringa += cifrariocarattere
        else:
            nuova_stringa += carattere
    return nuova_stringa







ma come si fa poi per decriptare?



--- Ultima modifica di guinomeip in data 2019-08-07 14:17:06 ---
> ma come si fa poi per decriptare?





basta che la richiami 13 volte :P





>>> x = 'Testo Originale'                                                       
>>> for i in range(13): 
...     x = crypto(x) 
...     print(f'{i:2}: {x}') 
...                                                                             
 0: Tkyzu Oxomotgrk
 1: Tqefa Odusuzmxq
 2: Twklg Ojayafsdw
 3: Tcqrm Opgeglyjc
 4: Tiwxs Ovmkmrepi
 5: Tocdy Obsqsxkvo
 6: Tuije Ohywydqbu
 7: Taopk Onecejwha
 8: Tguvq Otkikpcng
 9: Tmabw Ozqoqvitm
10: Tsghc Ofwuwbozs
11: Tymni Olcachufy
12: Testo Originale




👋




THE 🍺-WARE LICENSE (Revision ㊷):
<carlo@🐍.it> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝
ok funziona, grazie!
Ciao!




ho trovato un nuovo problema.


Se nella variabile "cifrario" inserisco anche le lettere maiuscole:




cifrario = {"a":"g", "b":"h", "c":"i", "d":"j", "e":"k", "f":"l", "g":"m", \
            "h":"n", "i":"o", "j":"p", "k":"q", "l":"r", "m":"s", "n":"t", \
            "o":"u", "p":"v", "q":"w", "r":"x", "s":"y", "t":"z", "u":"a", \
            "v":"b", "w":"c", "x":"d", "y":"e", "z":"f", "A":"G", "B":"H", \
            "C":"I", "D":"J", "E":"K", "F":"L", "G":"M", "H":"N", "I":"O", \
            "J":"P", "K":"Q", "L":"R", "M":"S", "N":"T", "O":"U", "P":"V", \
            "Q":"W", "R":"X", "S":"Y", "T":"Z", "U":"A", "V":"B", "w":"C", \
            "X":"D", "Y":"E", "Z":"F"}


def crypto(stringa):
    nuova_stringa = ""
    for carattere in stringa:
        if carattere in cifrario:
            nuova_stringa += cifrariocarattere
        else:
            nuova_stringa += carattere
    return nuova_stringa





il ciclo for per decriptare non funziona più. Per esempio, la stringa "VGYZUXK" diventa "PWWTWRW", e invece dovrebbe essere "PASTORE".






Pagina: 1



Esegui il login per scrivere una risposta.