home *** CD-ROM | disk | FTP | other *** search
/ Freelog 42 / Freelog042.iso / Prog / decrypteur / AlgoXOR.py
Text File  |  2003-02-11  |  1KB  |  55 lines

  1. # casseur XOR
  2. # import des librairies
  3. from Tkinter import *
  4. #from math import *
  5. from struct import *
  6. from tkFileDialog import *
  7. from tkCommonDialog import *
  8. from operator import *
  9. import os
  10. import re
  11. re
  12.  
  13. #clef= A5 soit 165 en dΘcimal
  14. global clef
  15. clef=165
  16.  
  17. def on_quitte():
  18.     fich_a_gen.close()
  19.     monfichier.close()
  20.     print '\n Fichier FermΘ ... '
  21.     fenetre1.destroy()
  22.  
  23. def ouvfich():
  24.     global monfichier
  25.     global fich_a_gen
  26.     lefichier=askopenfilename(parent=fenetre1, title=" Ouverture de ... ")
  27.     print 'Fichier Ouvert \n'
  28.     os.chdir(os.path.dirname(lefichier))
  29.     for i in (os.listdir(os.getcwd())):
  30.         (nom,ext)=os.path.splitext(i)
  31.         nom_fic=nom+'bis'+ext
  32.         monfichier=open(i,'rb')
  33.         fich_a_gen=open(nom_fic,'ab')
  34.         print nom_fic
  35.         while 1:
  36.             octetlu=monfichier.read(1)
  37.             if not (octetlu):
  38.                 monfichier.close()
  39.                 fich_a_gen.close()
  40.                 print 'ferme'
  41.                 break
  42.             donnee_lue=ord(octetlu)
  43.             donnee_a_ecrire=xor(donnee_lue,clef)
  44.             fich_a_gen.write(chr(donnee_a_ecrire))
  45.  
  46. # ici, on place l'interface graphique
  47. fenetre1=Tk()
  48. fenetre1.title('penelope')
  49. boutonQ=Button(fenetre1,text='Quitter',command=on_quitte,width=40)
  50. boutonQ.pack(fill=X,side=BOTTOM)
  51. boutonP=Button(fenetre1,text='Parcourir',command=ouvfich)
  52. boutonP.pack(fill=X)
  53.  
  54. # et les scrutations
  55. fenetre1.mainloop()