Pages

Encodeur : Chiffre de césar

On a vu précédemment Rot13, qui est une particularité du chiffre de césar. On continu donc sur notre lancé avec le chiffre de césar lui-même.



#! /usr/bin/python
# -*- coding: UTF-8 -*-
#
# ******************
#  Chiffre de césar
# ******************

import sys

if len(sys.argv)<=2 :
    print"""
Usage : ./cesar.py [text] [keys]
  -[text]    "Texte à Transcrire" (n'oubliez pas les doubles-quotes)
  -[keys]    "Clé à utiliser (un chiffre entre 1 et 25>
         """
    sys.exit(1)

text=sys.argv[1]
keys=sys.argv[2]
cesar=""


for caract in text:
    # caractere est une lettre
    if (ord(caract)>=ord('a') and ord(caract)<=ord('z') or
        ord(caract)>=ord('A') and ord(caract)<=ord('Z')):
        new_caract=chr(ord(caract)+int(keys))
        # Si le nouveau caractère est en dehors de l'alphabet, on ajuste le tir
        if (ord(new_caract)>ord('Z') and ord(new_caract)
            ord(new_caract)>ord('z') or ord(new_caract)
            new_caract=chr(ord(new_caract)-26)
        cesar += new_caract
    else :
        cesar+= caract

print "[ " + text + " ] = " + cesar
   



       

Aucun commentaire:

Enregistrer un commentaire