Python et cryptage / décryptage à la mode César *********************************************** Le chiffrement est en fait une simple substitution monoalphabétique, c'est-à-dire qu'une lettre est remplacée par une seule autre. Le code de césar a la particularité qu'il est basé sur un simple décalage de l'alphabet et, ainsi, si on note A = 1, B = 2, ..., Z = 26, que l'on ajoute une constante et que l'on conserve le résultat modulo 26. On obtient le texte codé. On appelle la constante, la clé ou le décalage. Certains appellent la clé la lettre correspondant au A du texte clair. Par exemple, le décalage par défaut est de 3, la lettre A devient D, que l'on nomme la clé. programme pour encrypter le texte .. code-block:: python Messageacrypter="le script pour décoder ne devrait pas être long a faire, je Le donnerai sur ce même forum" cle=24 # Décalage par rapport à Y (code ASCII : 24 + 1 = 25e lettre de l'alphabet) acrypter=Messageacrypter.upper() lg=len(acrypter) MessageCrypte="" for i in range(lg): if acrypter[i]==' ': MessageCrypte+=' ' else: asc=ord(acrypter[i])+cle MessageCrypte+=chr(asc+26*((asc<65)-(asc>90))) print MessageCrypte programme pour décrypter un texte crypter .. code-block:: python MessageCrypte="JC QAPGNR NMSP BCAMBCP LC BCTPYGR NYQ CRPC JMLE Y DYGPC HC JC BMLLCPYG QSP AC KCKC DMPSK" lg=len(MessageCrypte) MessageClair="" cle=24 # Décalage par rapport à Y (code ASCII : 24 + 1 = 25e lettre de l'alphabet) for i in range(lg): if MessageCrypte[i]==' ': MessageClair+=' ' else: asc=ord(MessageCrypte[i])-cle MessageClair+=chr(asc+26*((asc<65)-(asc>90))) print MessageClair .. warning:: il faut noter qu'ici le texte crypter ou decrypter en uppercase ... donc oublié les accents ou un cryptage complexe Il est possible en python de créer très rapidement password ou mot de passe .. code-block:: python import string from random import sample pop = string.ascii_letters + string.digits k=8 passwd = ''.join(sample(pop, k)) print passwd