diff options
| author | jerome <jerome@xlinfo.fr> | 2025-10-12 17:41:43 +0200 |
|---|---|---|
| committer | jerome <jerome@xlinfo.fr> | 2025-10-12 17:41:43 +0200 |
| commit | ec8893a097a6c0fffebd7db9e4a5568a3bf4df47 (patch) | |
| tree | ffebe60c3aa98df05d14aec8cea937430272c1ec /crypto/cesar.py | |
| parent | ba41fa46e69dbb264dfbed1b9fca5daab44a07c7 (diff) | |
| download | python-ec8893a097a6c0fffebd7db9e4a5568a3bf4df47.tar.gz python-ec8893a097a6c0fffebd7db9e4a5568a3bf4df47.zip | |
organisation
Diffstat (limited to 'crypto/cesar.py')
| -rw-r--r-- | crypto/cesar.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/crypto/cesar.py b/crypto/cesar.py new file mode 100644 index 0000000..cc58d8f --- /dev/null +++ b/crypto/cesar.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python + +import string + + +def decalage(char, key): + liste = list(string.ascii_lowercase)*2 + list(string.ascii_uppercase)*2 + #print(liste) + if char not in liste: + return char + else: + return liste[liste.index(char)+key] + +# print(decalage("a",3)) + + +print("********************") +print("Chiffrement de César") +print("********************") + +menu = ["c) Chiffrer un message", "d) Dechiffrer un message", "q) Quitter"] + +while True: + for choix in menu: + print(choix) + rep = input("Votre choix : ") + match rep.lower(): + case "c": + msgChiffre = str() + msg = input("Votre message : ") + clef = int(input("Entrez votre clef (entre 1 et 25) : ")) + for lettre in msg: + #msgChiffre = msgChiffre + decalage(lettre,clef) + msgChiffre += decalage(lettre, clef) + print("\nVotre message chiffré : ", msgChiffre, "\n") + print("********************") + msg = "" + msgChiffre = "" + case "d": + msg = str() + msgChiffre = input("Votre message : ") + for clef in range(25,0,-1): + for lettre in msgChiffre: + msg += decalage(lettre, clef) + print(f"rot{26-clef} : {msg}") + msg = "" + print("********************") + case "q": + print("bye") + exit() |
