dimanche 13 avril 2014

Code toujours...

La journée à été cool, le raspberry pi à son media-center (RASPbmc c'est simple pas de programme d'installation difficile), il ne reste plus qu'à configurer le réseau pour envoyer les fichiers sur le Pi. Le routeur wifi est utilisable en tant que switch ethernet mais la fonction switch wifi reste à activer en tant qu'extension du réseau local, sur le même réseau donc, voire pour un custom firmware.
Le problème pour le cryptage est presque terminé, pour faire tourner plusieurs fois la fonction, il manquais deux affectations : L doit être remis à zéro pour relire la phrase et la variable de sortie vidé pour ne pas rajouté des valeurs.
Voila le code :

alphabet = '0abcdefghijklmnopqrstuvwxyz '
crypt = ('0','11','14','22','16','10','3','19','14','9','13','10','12','6','-7','-12','-11','-7','-14','-13','-6','-13','-20','-10','-7','-24','-15')
crypt1 = ('0','25','20','12','14','11','13','7','13','-3','7','15','-11','10','6','-10','-14','7','-9','-6','-16','-10','-14','-13','-12','-22','-19')
passe = (raw_input('votre texte :').lower())
L = 0
phc = ''
phd = ''
i = 0
def cryptage():
    global L, phc, passe
    while L < len(passe) :
        Nlettre = alphabet.index(passe[L])
        #print Nlettre
        #print crypt[Nlettre]
        Nlettre = str((float(Nlettre)) + float(crypt[Nlettre]))
        point = Nlettre.index('.')
        Nlettre = Nlettre[0:point]
        phc = phc + alphabet[(int(Nlettre))]
        L = L + 1

def decryptage():
    global L, phd, passe
    while L < len(passe) :
        Nlettre1 = alphabet.index(passe[L])
        #print Nlettre1
        #print crypt1[int(Nlettre1)]
        Nlettre1 = str((float(Nlettre1)) + float(crypt1[Nlettre1]))
        point1 = Nlettre1.index('.')
        Nlettre1 = Nlettre1[0:point1]
        phd = phd + alphabet[(int(Nlettre1))]
        L = L + 1

Choix = raw_input('vous voulez crypter ou decrypter un message ?(c ou d) : ')
nbtour = input('votre cle de chiffrage dechiffrage :')
if Choix == 'c':
    for i in range (0,nbtour):
        print passe
        cryptage ()
        passe = phc
        L = 0
        phc = ''
    print 'La phrase crypte est : ' + passe

if Choix == 'd':
    for i in range (0,nbtour):
        decryptage ()
        passe = phd
        L = 0
        phd = ''
    print 'La phrase crypte est : ' + passe
 Ce n'est qu'une beta, le principe est celui de la machine enigma une lettre en entré une en sortie, il peut encore être raccourci et il manque les espaces, les nombres et autres caractères spéciaux. Il reste des bugs dans les listes.

Aucun commentaire:

Enregistrer un commentaire

N’hésitez pas à commenter, tous le monde peut s'exprimer même anonymement. Pour ne rien cacher, ils sont modérer pour éluder les commentaires déplacés.