From 12f08abacad7781dfa58ee42ba9b43e489145cf3 Mon Sep 17 00:00:00 2001 From: xdrm Date: Fri, 22 May 2015 12:23:43 +0200 Subject: [PATCH] =?UTF-8?q?Cl=C3=A9=20en=20hexa=20ou=20int=20+=20ajout=20t?= =?UTF-8?q?emps=20d'ex=C3=A9cution=20[stable~80]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/source.py b/source.py index 2c4fb53..e62fa57 100644 --- a/source.py +++ b/source.py @@ -1,11 +1,11 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- - +import time; # fonction qui calcule le nombre de rotors en fonction de la clé pKey et qui retourne un entier def calcLevel(pKey, pSIGMA): - xN = 0; + xN = 1; for r in range(1,100): if( pKey >= len(pSIGMA)**r ): # si la clé est inférieure à la valeur max pour r rotors xN = r; # on enregistre la valeur @@ -104,7 +104,7 @@ SIGMA = list(SIGMA); # NOMBRE DE ROTORS LEVEL = 3; # valeur par defaut # CHOIX DE LA CLE -userkey = int( raw_input('Cle: ') ); +userkey = int( raw_input('Cle (hex ou int): '), 0); # CALCUL de LEVEL en fonction de la clé LEVEL = calcLevel(userkey, SIGMA); # DECOMPOSITION DE LA CLE PRIMAIRE EN CLES SECONDAIRES @@ -125,13 +125,15 @@ for i in range(0, LEVEL): m = ( raw_input('Message: ') ); # CHOIX DU TYPE (ENCODE / DECODE) -type = 'X'; +type = ''; while( type != 'E' and type != 'D' ): type = ( raw_input('encoder ou decoder [E/D]: ') ).upper(); # VARIABLE DU HASH M = ''; +# DEMARRE LE CHRONO +startTime = time.time(); # ENCODAGE DU MESSAGE if( type == 'E' ): @@ -152,6 +154,8 @@ else: # on retourne la chaine M = M[::-1]; +print +print 'Temps d\'exécution:',time.time() - startTime; print print 'Enigma :', M @@ -165,4 +169,3 @@ print 'Enigma :', M -