+gestion fichier\n+gestion accents(utf-8)\n[stable~95]

This commit is contained in:
xdrm 2015-05-22 13:40:51 +02:00
parent e63d2d341a
commit e6f4dfbd6e
1 changed files with 20 additions and 8 deletions

View File

@ -1,4 +1,3 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import time; import time;
@ -97,8 +96,12 @@ def decodeChar(pChar, pSIGMA, pROTOR):
############################################################################################################################# #############################################################################################################################
# DEFINITION DE L'ALPHABET # DEFINITION DE L'ALPHABET
SIGMA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&=+^~@%,.?!:[](){}-_0123456789#$*/ \\"\''; SIGMA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; # maj
SIGMA += 'abcdefghijklmnopqrstuvwxyz'; # min
SIGMA += '&=+^~@%,.?!:[](){}-_#$*/ \\"\'\n'; # ponctuation + retour charriot
SIGMA += '0123456789'; # digit
SIGMA += 'éèêàùç'; # accents
SIGMA = SIGMA.decode('utf-8');
# ALPHABET FORMATE EN LISTE # ALPHABET FORMATE EN LISTE
SIGMA = list(SIGMA); SIGMA = list(SIGMA);
# NOMBRE DE ROTORS # NOMBRE DE ROTORS
@ -115,14 +118,20 @@ ROTOR.append( [] );
# on cree les rotors grace a sigma et aux cles recuperees # on cree les rotors grace a sigma et aux cles recuperees
for i in range(0, LEVEL): for i in range(0, LEVEL):
ROTOR.append( shuffle( SIGMA, KEY[i]) ); # on creer le rotor et le melange suivant la cle ROTOR.append( shuffle( SIGMA, KEY[i]) ); # on creer le rotor et le melange suivant la cle
ROTOR[0].append( ROTOR[i+1][0] ); # on enregistre la lettre en premiere position dans la premiere entree du rotor ROTOR[0].append( ROTOR[i+1][0] ); # on enregistre la l&ettre en premiere position dans la premiere entree du rotor
# AFFICHAGE DES ROTORS # AFFICHAGE DES ROTORS
# printRotors(ROTOR); # printRotors(ROTOR);
# SAISIE DU MESSAGE # LIEN DU FICHIER A CRYPTER
m = ( raw_input('Message: ') ); f1 = raw_input('Fichier d\'entrée: ');
f2 = raw_input('Fichier de sortie: ');
# OUVERTURE ET LECTURE DU FICHIER
inFile = open(f1, 'r');
m = inFile.read().decode('utf-8');
print m;
# CHOIX DU TYPE (ENCODE / DECODE) # CHOIX DU TYPE (ENCODE / DECODE)
type = ''; type = '';
@ -154,10 +163,13 @@ else:
# on retourne la chaine # on retourne la chaine
M = M[::-1]; M = M[::-1];
# ON ECRIT LE RESULTAT DANS LE FICHIER DE SORTIE
outFile = open(f2, 'w');
outFile.write(M.encode('utf-8'));
outFile.close();
print print
print 'Temps d\'exécution:',time.time() - startTime; print 'Temps d\'exécution:',time.time() - startTime;
print
print 'Enigma :', M