Clé en hexa ou int + ajout temps d'exécution [stable~80]

This commit is contained in:
xdrm 2015-05-22 12:23:43 +02:00
parent 8b6f072ba9
commit 12f08abaca
1 changed files with 8 additions and 5 deletions

View File

@ -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