Advertisement
Guest User

ProjetISN2015

a guest
May 24th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 27.46 KB | None | 0 0
  1. from Tkinter import*
  2. import tkFileDialog
  3. import unicodedata
  4. import os
  5. from tkMessageBox import *
  6.  
  7. class MyGlobals(): pass
  8.  
  9. def CesarEncode(cesarcle):
  10.     k= cesarentre.get()
  11.     a=list(k)
  12.     num="0123456789"
  13.     num=list(num)
  14.     i1=0
  15.     b=""
  16.     while i1<len(a):
  17.         if a[i1] in num:
  18.             b1=""
  19.         else:
  20.             b1="Erreur1"
  21.             break
  22.         i1=i1+1
  23.     if b1=="Erreur1":
  24.         pos1=i1+1
  25.         pos1=str(pos1)
  26.         text="La clé comprends une lettre à la position : " + pos1
  27.         showerror("Erreur",text)
  28.     else:
  29.         k=int(k)
  30.         global fl
  31.         global chaine
  32.         ftypes = [('All files', '*')]
  33.         dlg = tkFileDialog.Open(filetypes = ftypes)
  34.         fl = dlg.show()
  35.         Fichier2 = open(fl,'r')
  36.         chaine = Fichier2.read()
  37.         Fichier2.close()
  38.         chaine.replace('\n', '')
  39.         chaine= chaine.decode('latin-1')
  40.         chaine=unicodedata.normalize('NFKD', chaine).encode('ascii','ignore')
  41.         a=list(chaine)
  42.         l=list()
  43.         for i in range(len(a)):
  44.             b=a[i]
  45.             c=ord(b)
  46.             l.append(str(c))
  47.             i=i+1
  48.         d=list()
  49.         for i in range(len(l)):
  50.             b=int(l[i])
  51.             b=(b+k)%255
  52.             c=chr(int(b))
  53.             d.append(c)
  54.             i=i+1
  55.         chaine=("".join(d))
  56.         new = str(os.path.dirname(Fichier2.name))+'/'+'New_'+os.path.basename(Fichier2.name)
  57.         Fichier = open(new,'w')
  58.         Fichier.write(chaine)
  59.         Fichier.close()
  60.  
  61. def CesarDecode(self):
  62.     k=cesarentre.get()
  63.     a=list(k)
  64.     num="0123456789"
  65.     num=list(num)
  66.     i1=0
  67.     b=""
  68.     while i1<len(a):
  69.         if a[i1] in num:
  70.             b1=""
  71.         else:
  72.             b1="Erreur1"
  73.             break
  74.         i1=i1+1
  75.     if b1=="Erreur1":
  76.         pos1=i1+1
  77.         pos1=str(pos1)
  78.         text="La clé comprends une lettre à la position : " + pos1
  79.         showerror("Erreur",text)
  80.     else:
  81.         k=int(k)
  82.         global fl
  83.         global chaine
  84.         ftypes = [('All files', '*')]
  85.         dlg = tkFileDialog.Open(filetypes = ftypes)
  86.         fl = dlg.show()
  87.         Fichier2 = open(fl,'r')
  88.         chaine = Fichier2.read()
  89.         Fichier2.close()
  90.         chaine.replace('\n', '')
  91.         a=list(chaine)
  92.         l=list()
  93.         for i in range(len(a)):
  94.             b=a[i]
  95.             c=ord(b)
  96.             l.append(str(c))
  97.             i=i+1
  98.         d=list()
  99.         for i in range(len(l)):
  100.             b=int(l[i])
  101.             b=(b-k)%255
  102.             c=chr(int(b))
  103.             d.append(c)
  104.             i=i+1
  105.         chaine=("".join(d))
  106.         new = str(os.path.dirname(Fichier2.name))+'/'+'New_'+os.path.basename(Fichier2.name)
  107.         Fichier = open(new,'w')
  108.         Fichier.write(chaine)
  109.         Fichier.close()
  110.  
  111. def TrinomeEncode(self):
  112.     k1= trientre1.get()
  113.     k2= trientre2.get()
  114.     a=list(k1)
  115.     c=list(k2)
  116.     num="0123456789"
  117.     num=list(num)
  118.     i1=0
  119.     b=""
  120.     while i1<len(a):
  121.         if a[i1] in num:
  122.             b1=""
  123.         else:
  124.             b1="Erreur1"
  125.             break
  126.         i1=i1+1
  127.     i2=0
  128.     while i2<len(c):
  129.         if c[i2] in num:
  130.             b2=""
  131.         else:
  132.             b2="Erreur2"
  133.             break
  134.         i2=i2+1
  135.     if b1=="Erreur1" and b2=="":
  136.         pos1=i1+1
  137.         pos1= str(pos1)
  138.         text= "La clé (a) comprends une lettre à la position : " + pos1
  139.         showerror("Erreur",text)
  140.     if b1=="Erreur1" and b2=="Erreur2":
  141.         pos1=i1+1
  142.         pos1= str(pos1)
  143.         pos2=i2+1
  144.         pos2 = str(pos2)
  145.         text= "La clé (a) comprends une lettre à la position : " + pos1 + "\nLa clé (b) comprends une lettre à la position : " + pos2
  146.         showerror("Erreur",text)
  147.     if b1=="" and b2=="Erreur2":
  148.         pos2=i2+1
  149.         pos2= str(pos2)
  150.         text= "La clé (b) comprends une lettre à la position : " + pos2
  151.         showerror("Erreur",text)
  152.     if b1=="" and b2=="":
  153.         k1=int(k1)
  154.         k2=int(k2)
  155.         global fl
  156.         global chaine
  157.         ftypes = [('All files', '*')]
  158.         dlg = tkFileDialog.Open(filetypes = ftypes)
  159.         fl = dlg.show()
  160.         Fichier2 = open(fl,'r')
  161.         chaine = Fichier2.read()
  162.         Fichier2.close()
  163.         chaine.replace('\n', '')
  164.         chaine= chaine.decode('latin-1')
  165.         chaine=unicodedata.normalize('NFKD', chaine).encode('ascii','ignore')
  166.         a=list(chaine)
  167.         l=list()
  168.         for i in range(len(a)):
  169.             b=a[i]
  170.             c=ord(b)
  171.             l.append(str(c))
  172.             i=i+1
  173.         d=list()
  174.         e=list()
  175.         for i in range(len(l)):
  176.             b=int(l[i])
  177.             c=((k1)*b+ (k2))
  178.             e.append(c)
  179.             MyGlobals.e=e
  180.             c=c%255
  181.             c=chr(int(c))
  182.             d.append(c)
  183.             i=i+1
  184.         chaine=("".join(d))
  185.         new = str(os.path.dirname(Fichier2.name))+'/'+'New_'+os.path.basename(Fichier2.name)
  186.         Fichier = open(new,'w')
  187.         Fichier.write(chaine)
  188.         Fichier.close()
  189.  
  190. def TrinomeDecode(self):
  191.     k1= trientre1.get()
  192.     k2= trientre2.get()
  193.     a=list(k1)
  194.     c=list(k2)
  195.     num="0123456789"
  196.     num=list(num)
  197.     i1=0
  198.     b=""
  199.     while i1<len(a):
  200.         if a[i1] in num:
  201.             b1=""
  202.         else:
  203.             b1="Erreur1"
  204.             break
  205.         i1=i1+1
  206.     i2=0
  207.     while i2<len(c):
  208.         if c[i2] in num:
  209.             b2=""
  210.         else:
  211.             b2="Erreur2"
  212.             break
  213.         i2=i2+1
  214.     if b1=="Erreur1" and b2=="":
  215.         pos1=i1+1
  216.         pos1= str(pos1)
  217.         text= "La clé (a) comprends une lettre à la position : " + pos1
  218.         showerror("Erreur",text)
  219.     if b1=="Erreur1" and b2=="Erreur2":
  220.         pos1=i1+1
  221.         pos1= str(pos1)
  222.         pos2=i2+1
  223.         pos2 = str(pos2)
  224.         text= "La clé (a) comprends une lettre à la position : " + pos1 + "\nLa clé (b) comprends une lettre à la position : " + pos2
  225.         showerror("Erreur",text)
  226.     if b1=="" and b2=="Erreur2":
  227.         pos2=i2+1
  228.         pos2= str(pos2)
  229.         text= "La clé (b) comprends une lettre à la position : " + pos2
  230.         showerror("Erreur",text)
  231.     if b1=="" and b2=="":
  232.         k1=int(k1)
  233.         k2=int(k2)
  234.         global fl
  235.         global chaine
  236.         ftypes = [('All files', '*')]
  237.         dlg = tkFileDialog.Open(filetypes = ftypes)
  238.         fl = dlg.show()
  239.         Fichier2 = open(fl,'r')
  240.         chaine = Fichier2.read()
  241.         Fichier2.close()
  242.         chaine.replace('\n', '')
  243.         a=list(chaine)
  244.         d=list()
  245.         e=MyGlobals.e
  246.         for i in range(len(e)):
  247.             b=int(e[i])
  248.             b=((b-k2)/k1)
  249.             c=chr(int(b))
  250.             d.append(c)
  251.             i=i+1
  252.         chaine=("".join(d))
  253.         new = str(os.path.dirname(Fichier2.name))+'/'+'New_'+os.path.basename(Fichier2.name)
  254.         Fichier = open(new,'w')
  255.         Fichier.write(chaine)
  256.         Fichier.close()
  257.  
  258. def VigenereEncode(self):
  259.     cle1=(vigenereentre.get())
  260.     cle1=cle1.upper()
  261.     y=list(cle1)
  262.     num="0123456789"
  263.     num=list(num)
  264.     i=0
  265.     b=""
  266.     while i<len(y):
  267.         if y[i] in num:
  268.             b="Erreur"
  269.             break
  270.         i=i+1
  271.     if b=="Erreur":
  272.         pos=i+1
  273.         pos= str(pos)
  274.         text= "La clé comprends un nombre à la position : " + pos
  275.         showerror("Erreur",text)
  276.     else:
  277.         global fl
  278.         global chaine
  279.         ftypes = [('All files', '*')]
  280.         dlg = tkFileDialog.Open(filetypes = ftypes)
  281.         fl = dlg.show()
  282.         Fichier2 = open(fl,'r')
  283.         chaine = Fichier2.read()
  284.         Fichier2.close()
  285.         chaine= chaine.decode('latin-1')
  286.         chaine= unicodedata.normalize('NFKD', chaine).encode('ascii','ignore')
  287.         chaine=chaine.upper()
  288.         x=list(chaine)
  289.         esp=[]
  290.         apo=[]
  291.         pt=[]
  292.         ptvir=[]
  293.         vir=[]
  294.         deuxpt=[]
  295.         ptexc=[]
  296.         ptint=[]
  297.         guil=[]
  298.         parg=[]
  299.         pard=[]
  300.         tire=[]
  301.         zero=[]
  302.         un=[]
  303.         deux=[]
  304.         trois=[]
  305.         quatre=[]
  306.         cinq=[]
  307.         six=[]
  308.         sept=[]
  309.         huit=[]
  310.         neuf=[]
  311.         sautligne=[]
  312.         tab=[]
  313.         et=[]
  314.         slash=[]
  315.         tamp=list(chaine)
  316.         i=0
  317.         for lettre in tamp:
  318.             if lettre==" ":
  319.                 esp.append(i)
  320.                 x.remove(lettre)
  321.             if lettre=="'":
  322.                 apo.append(i)
  323.                 x.remove(lettre)
  324.             if lettre==".":
  325.                 pt.append(i)
  326.                 x.remove(lettre)
  327.             if lettre==",":
  328.                 vir.append(i)
  329.                 x.remove(lettre)
  330.             if lettre==";":
  331.                 ptvir.append(i)
  332.                 x.remove(lettre)
  333.             if lettre==":":
  334.                 deuxpt.append(i)
  335.                 x.remove(lettre)
  336.             if lettre=="!":
  337.                 ptexc.append(i)
  338.                 x.remove(lettre)
  339.             if lettre=="?":
  340.                 ptint.append(i)
  341.                 x.remove(lettre)
  342.             if lettre=='"':
  343.                 guil.append(i)
  344.                 x.remove(lettre)
  345.             if lettre=="(":
  346.                 parg.append(i)
  347.                 x.remove(lettre)
  348.             if lettre==")":
  349.                 pard.append(i)
  350.                 x.remove(lettre)
  351.             if lettre=="-":
  352.                 tire.append(i)
  353.                 x.remove(lettre)
  354.             if lettre=="0":
  355.                 zero.append(i)
  356.                 x.remove(lettre)
  357.             if lettre=="1":
  358.                 un.append(i)
  359.                 x.remove(lettre)
  360.             if lettre=="2":
  361.                 deux.append(i)
  362.                 x.remove(lettre)
  363.             if lettre=="3":
  364.                 trois.append(i)
  365.                 x.remove(lettre)
  366.             if lettre=="4":
  367.                 quatre.append(i)
  368.                 x.remove(lettre)
  369.             if lettre=="5":
  370.                 cinq.append(i)
  371.                 x.remove(lettre)
  372.             if lettre=="6":
  373.                 six.append(i)
  374.                 x.remove(lettre)
  375.             if lettre=="7":
  376.                 sept.append(i)
  377.                 x.remove(lettre)
  378.             if lettre=="8":
  379.                 huit.append(i)
  380.                 x.remove(lettre)
  381.             if lettre=="9":
  382.                 neuf.append(i)
  383.                 x.remove(lettre)
  384.             if lettre=="\n":
  385.                 sautligne.append(i)
  386.                 x.remove(lettre)
  387.             if lettre=="\t":
  388.                 tab.append(i)
  389.                 x.remove(lettre)
  390.             if lettre=="&":
  391.                 et.append(i)
  392.                 x.remove(lettre)
  393.             if lettre=="/":
  394.                 slash.append(i)
  395.                 x.remove(lettre)
  396.             i=i+1
  397.         spe=apo+esp+pt+ptvir+vir+deuxpt+ptexc+ptint+guil+parg+pard+tire+zero+un+deux+trois+quatre+cinq+six+sept+huit+neuf+sautligne+et+slash+tab
  398.         tampon=0
  399.         i=0
  400.         while i<len(spe)-1:
  401.             if spe[i]>spe[i+1]:
  402.                 tampon=spe[i]
  403.                 spe[i]=spe[i+1]
  404.                 spe[i+1]=tampon
  405.                 i=0
  406.             else:
  407.                 i=i+1
  408.         cle=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
  409.         clair=cle
  410.         f=[]
  411.         g=[]
  412.         for lettre in x:
  413.             for i in range(len(clair)):
  414.                 if lettre==clair[i]:
  415.                     f.append(i)
  416.         for lettre in y:
  417.             for i in range(len(cle)):
  418.                 if lettre==cle[i]:
  419.                     g.append(i)
  420.         i=0
  421.         while len(g)<len(f):
  422.             g.append(g[i])
  423.             i=i+1
  424.         i=0
  425.         chiffre=[]
  426.         while i<len(f):
  427.             chiffre.append(((f[i]+g[i])%26)+65)
  428.             chiffre[i]=chr(chiffre[i])
  429.             i=i+1
  430.         i=0
  431.         for lettre in spe:
  432.             if lettre in apo:
  433.                 chiffre.insert(spe[i],"'")
  434.             if lettre in esp:
  435.                 chiffre.insert(spe[i]," ")
  436.             if lettre in pt:
  437.                 chiffre.insert(spe[i],".")
  438.             if lettre in ptvir:
  439.                 chiffre.insert(spe[i],";")
  440.             if lettre in vir:
  441.                 chiffre.insert(spe[i],",")
  442.             if lettre in deuxpt:
  443.                 chiffre.insert(spe[i],":")
  444.             if lettre in ptexc:
  445.                 chiffre.insert(spe[i],"!")
  446.             if lettre in ptint:
  447.                 chiffre.insert(spe[i],"?")
  448.             if lettre in guil:
  449.                 chiffre.insert(spe[i],'"')
  450.             if lettre in parg:
  451.                 chiffre.insert(spe[i],"(")
  452.             if lettre in pard:
  453.                 chiffre.insert(spe[i],")")
  454.             if lettre in tire:
  455.                 chiffre.insert(spe[i],"-")
  456.             if lettre in zero:
  457.                 chiffre.insert(spe[i],"0")
  458.             if lettre in un:
  459.                 chiffre.insert(spe[i],"1")
  460.             if lettre in deux:
  461.                 chiffre.insert(spe[i],"2")
  462.             if lettre in trois:
  463.                 chiffre.insert(spe[i],"3")
  464.             if lettre in quatre:
  465.                 chiffre.insert(spe[i],"4")
  466.             if lettre in cinq:
  467.                 chiffre.insert(spe[i],"5")
  468.             if lettre in six:
  469.                 chiffre.insert(spe[i],"6")
  470.             if lettre in sept:
  471.                 chiffre.insert(spe[i],"7")
  472.             if lettre in huit:
  473.                 chiffre.insert(spe[i],"8")
  474.             if lettre in neuf:
  475.                 chiffre.insert(spe[i],"9")
  476.             if lettre in sautligne:
  477.                 chiffre.insert(spe[i],"\n")
  478.             if lettre in tab:
  479.                 chiffre.insert(spe[i],"\t")
  480.             if lettre in et:
  481.                 chiffre.insert(spe[i],"&")
  482.             if lettre in slash:
  483.                 chiffre.insert(spe[i],"/")
  484.             i=i+1
  485.         chaine="".join(chiffre)
  486.         chaine= chaine.capitalize()
  487.         new = str(os.path.dirname(Fichier2.name))+'/'+'New_'+os.path.basename(Fichier2.name)
  488.         Fichier = open(new,'w')
  489.         Fichier.write(chaine)
  490.         Fichier.close()
  491.  
  492. def VigenereDecode(self):
  493.     cle1=vigenereentre.get()
  494.     cle1=cle1.upper()
  495.     y=list(cle1)
  496.     num="0123456789"
  497.     num=list(num)
  498.     i=0
  499.     b=""
  500.     while i<len(y):
  501.         if y[i] in num:
  502.             b="Erreur"
  503.             break
  504.         i=i+1
  505.     if b=="Erreur":
  506.         pos=i+1
  507.         pos= str(pos)
  508.         text= "La clé comprends un nombre à la position : " + pos
  509.         showerror("Erreur",text)
  510.     else:
  511.         global fl
  512.         global chaine
  513.         ftypes = [('All files', '*')]
  514.         dlg = tkFileDialog.Open(filetypes = ftypes)
  515.         fl = dlg.show()
  516.         Fichier2 = open(fl,'r')
  517.         chaine = Fichier2.read()
  518.         Fichier2.close()
  519.         chaine.replace('\n', '')
  520.         chaine= chaine.decode('latin-1')
  521.         chaine= unicodedata.normalize('NFKD', chaine).encode('ascii','ignore')
  522.         chaine=chaine.upper()
  523.         x=list(chaine)
  524.         esp=[]
  525.         apo=[]
  526.         pt=[]
  527.         ptvir=[]
  528.         vir=[]
  529.         deuxpt=[]
  530.         ptexc=[]
  531.         ptint=[]
  532.         guil=[]
  533.         parg=[]
  534.         pard=[]
  535.         tire=[]
  536.         zero=[]
  537.         un=[]
  538.         deux=[]
  539.         trois=[]
  540.         quatre=[]
  541.         cinq=[]
  542.         six=[]
  543.         sept=[]
  544.         huit=[]
  545.         neuf=[]
  546.         sautligne=[]
  547.         tab=[]
  548.         et=[]
  549.         slash=[]
  550.         tamp=list(chaine)
  551.         i=0
  552.         for lettre in tamp:
  553.             if lettre==" ":
  554.                 esp.append(i)
  555.                 x.remove(lettre)
  556.             if lettre=="'":
  557.                 apo.append(i)
  558.                 x.remove(lettre)
  559.             if lettre==".":
  560.                 pt.append(i)
  561.                 x.remove(lettre)
  562.             if lettre==",":
  563.                 vir.append(i)
  564.                 x.remove(lettre)
  565.             if lettre==";":
  566.                 ptvir.append(i)
  567.                 x.remove(lettre)
  568.             if lettre==":":
  569.                 deuxpt.append(i)
  570.                 x.remove(lettre)
  571.             if lettre=="!":
  572.                 ptexc.append(i)
  573.                 x.remove(lettre)
  574.             if lettre=="?":
  575.                 ptint.append(i)
  576.                 x.remove(lettre)
  577.             if lettre=='"':
  578.                 guil.append(i)
  579.                 x.remove(lettre)
  580.             if lettre=="(":
  581.                 parg.append(i)
  582.                 x.remove(lettre)
  583.             if lettre==")":
  584.                 pard.append(i)
  585.                 x.remove(lettre)
  586.             if lettre=="-":
  587.                 tire.append(i)
  588.                 x.remove(lettre)
  589.             if lettre=="0":
  590.                 zero.append(i)
  591.                 x.remove(lettre)
  592.             if lettre=="1":
  593.                 un.append(i)
  594.                 x.remove(lettre)
  595.             if lettre=="2":
  596.                 deux.append(i)
  597.                 x.remove(lettre)
  598.             if lettre=="3":
  599.                 trois.append(i)
  600.                 x.remove(lettre)
  601.             if lettre=="4":
  602.                 quatre.append(i)
  603.                 x.remove(lettre)
  604.             if lettre=="5":
  605.                 cinq.append(i)
  606.                 x.remove(lettre)
  607.             if lettre=="6":
  608.                 six.append(i)
  609.                 x.remove(lettre)
  610.             if lettre=="7":
  611.                 sept.append(i)
  612.                 x.remove(lettre)
  613.             if lettre=="8":
  614.                 huit.append(i)
  615.                 x.remove(lettre)
  616.             if lettre=="9":
  617.                 neuf.append(i)
  618.                 x.remove(lettre)
  619.             if lettre=="\n":
  620.                 sautligne.append(i)
  621.                 x.remove(lettre)
  622.             if lettre=="\t":
  623.                 tab.append(i)
  624.                 x.remove(lettre)
  625.             if lettre=="&":
  626.                 et.append(i)
  627.                 x.remove(lettre)
  628.             if lettre=="/":
  629.                 slash.append(i)
  630.                 x.remove(lettre)
  631.             i=i+1
  632.         spe=apo+esp+pt+ptvir+vir+deuxpt+ptexc+ptint+guil+parg+pard+tire+zero+un+deux+trois+quatre+cinq+six+sept+huit+neuf+sautligne+et+slash+tab
  633.         tampon=0
  634.         i=0
  635.         while i<len(spe)-1:
  636.             if spe[i]>spe[i+1]:
  637.                 tampon=spe[i]
  638.                 spe[i]=spe[i+1]
  639.                 spe[i+1]=tampon
  640.                 i=0
  641.             else:
  642.                 i=i+1
  643.         cle=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
  644.         clair=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
  645.         f=[]
  646.         g=[]
  647.         for lettre in x:
  648.             for i in range(len(clair)):
  649.                 if lettre==clair[i]:
  650.                     f.append(i)
  651.         for lettre in y:
  652.             for i in range(len(cle)):
  653.                 if lettre==cle[i]:
  654.                     g.append(i)
  655.         i=0
  656.         while len(g)<len(f):
  657.             g.append(g[i])
  658.             i=i+1
  659.         i=0
  660.         chiffre=[]
  661.         while i<len(f):
  662.             chiffre.append(((f[i]-g[i])%26)+65)
  663.             chiffre[i]=chr(chiffre[i])
  664.             i=i+1
  665.         i=0
  666.         for lettre in spe:
  667.             if lettre in apo:
  668.                 chiffre.insert(spe[i],"'")
  669.             if lettre in esp:
  670.                 chiffre.insert(spe[i]," ")
  671.             if lettre in pt:
  672.                 chiffre.insert(spe[i],".")
  673.             if lettre in vir:
  674.                 chiffre.insert(spe[i],",")
  675.             if lettre in ptvir:
  676.                 chiffre.insert(spe[i],";")
  677.             if lettre in deuxpt:
  678.                 chiffre.insert(spe[i],":")
  679.             if lettre in ptexc:
  680.                 chiffre.insert(spe[i],"!")
  681.             if lettre in ptint:
  682.                 chiffre.insert(spe[i],"?")
  683.             if lettre in guil:
  684.                 chiffre.insert(spe[i],'"')
  685.             if lettre in parg:
  686.                 chiffre.insert(spe[i],"(")
  687.             if lettre in pard:
  688.                 chiffre.insert(spe[i],")")
  689.             if lettre in tire:
  690.                 chiffre.insert(spe[i],"-")
  691.             if lettre in zero:
  692.                 chiffre.insert(spe[i],"0")
  693.             if lettre in un:
  694.                 chiffre.insert(spe[i],"1")
  695.             if lettre in deux:
  696.                 chiffre.insert(spe[i],"2")
  697.             if lettre in trois:
  698.                 chiffre.insert(spe[i],"3")
  699.             if lettre in quatre:
  700.                 chiffre.insert(spe[i],"4")
  701.             if lettre in cinq:
  702.                 chiffre.insert(spe[i],"5")
  703.             if lettre in six:
  704.                 chiffre.insert(spe[i],"6")
  705.             if lettre in sept:
  706.                 chiffre.insert(spe[i],"7")
  707.             if lettre in huit:
  708.                 chiffre.insert(spe[i],"8")
  709.             if lettre in neuf:
  710.                 chiffre.insert(spe[i],"9")
  711.             if lettre in sautligne:
  712.                 chiffre.insert(spe[i],"\n")
  713.             if lettre in tab:
  714.                 chiffre.insert(spe[i],"\t")
  715.             if lettre in et:
  716.                 chiffre.insert(spe[i],"&")
  717.             if lettre in slash:
  718.                 chiffre.insert(spe[i],"/")
  719.             i=i+1
  720.         chaine="".join(chiffre)
  721.         chaine= chaine.capitalize()
  722.         new = str(os.path.dirname(Fichier2.name))+'/'+'New_'+os.path.basename(Fichier2.name)
  723.         Fichier = open(new,'w')
  724.         Fichier.write(chaine)
  725.         Fichier.close()
  726.  
  727. def select():
  728.      if int(Type.get())==1:
  729.         trientre1.configure(state=DISABLED)
  730.         tricle1.set("Insérez un nombre")
  731.         trientre2.configure(state=DISABLED)
  732.         tricle2.set("Insérez un nombre")
  733.         cesarentre.configure(state=NORMAL)
  734.         cesarcle.set("")
  735.         vigenereentre.configure(state=DISABLED)
  736.         vigenerecle.set("Insérez des lettres")
  737.         cesarentre.bind('<Return>', CesarEncode)
  738.         code.configure(state=NORMAL, relief=RAISED)
  739.         code.bind('<ButtonRelease-1>', CesarEncode)
  740.         decode.configure(state=NORMAL, relief=RAISED)
  741.         decode.bind('<ButtonRelease-1>', CesarDecode)
  742.  
  743.      if int(Type.get())==2:
  744.         trientre1.configure(state=NORMAL)
  745.         tricle1.set("")
  746.         trientre2.configure(state=NORMAL)
  747.         tricle2.set("")
  748.         cesarentre.configure(state=DISABLED)
  749.         cesarcle.set("Insérez un nombre")
  750.         vigenereentre.configure(state=DISABLED)
  751.         vigenerecle.set("Insérez des lettres")
  752.         trientre2.bind('<Return>', TrinomeEncode)
  753.         code.configure(state=NORMAL, relief=RAISED)
  754.         code.bind('<ButtonRelease-1>', TrinomeEncode)
  755.         decode.configure(state=NORMAL, relief=RAISED)
  756.         decode.bind('<ButtonRelease-1>', TrinomeDecode)
  757.  
  758.      if int(Type.get())==3:
  759.         trientre1.configure(state=DISABLED)
  760.         tricle1.set("Insérez un nombre")
  761.         trientre2.configure(state=DISABLED)
  762.         tricle2.set("Insérez un nombre")
  763.         cesarentre.configure(state=DISABLED)
  764.         cesarcle.set("Insérez un nombre")
  765.         vigenereentre.configure(state=NORMAL)
  766.         vigenerecle.set("")
  767.         vigenereentre.bind('<Return>', VigenereEncode)
  768.         code.configure(state=NORMAL, relief=RAISED)
  769.         code.bind('<ButtonRelease-1>', VigenereEncode)
  770.         decode.configure(state=NORMAL, relief=RAISED)
  771.         decode.bind('<ButtonRelease-1>', VigenereDecode)
  772.  
  773. fenetre=Tk()
  774. fenetre.configure(background="#ffffff")
  775. fenetre.title('Code Decode')
  776. fenetre.iconbitmap("icon.ico")
  777.  
  778. titre=Label(fenetre)
  779. titre.configure(text='Encoder et Decoder', anchor='center',  font="Roboto 32", background="#ffffff")
  780. titre.grid(row=1, column=2)
  781.  
  782. cadre=Frame(fenetre)
  783. cadre.configure(bd=2, relief='raised',background="#ffffff", )
  784. cadre.grid(row=3, column=2,)
  785.  
  786. cadre7=Frame(fenetre)
  787. cadre7.configure(background="#ffffff")
  788. cadre7.grid(row=3, column=1)
  789.  
  790. photo=PhotoImage(file="gif2.gif")
  791.  
  792. image=Label(cadre7)
  793. image.configure(image=photo, width=170, heigh=170, background="#ffffff")
  794. image.grid(row=1, column=1)
  795.  
  796. cadre8=Frame(fenetre)
  797. cadre8.configure(background="#ffffff")
  798. cadre8.grid(row=3, column=3)
  799.  
  800. image=Label(cadre8)
  801. image.configure(image=photo, width=170, heigh=170, background="#ffffff")
  802. image.grid(row=1, column=1)
  803.  
  804. Type=IntVar()
  805. Type.set(0)
  806.  
  807. label=Label(fenetre)
  808. label.configure(text='Selection de la méthode :',  font="Roboto 16", background="#ffffff")
  809. label.grid(row=2, column=2, padx=15)
  810.  
  811. button=Radiobutton(cadre)
  812. button.configure(text='Cesar', variable=Type, value=1, command=select,  font="Roboto 12",background="#ffffff")
  813. button.grid(row=2, column=1)
  814.  
  815. button2=Radiobutton(cadre)
  816. button2.configure(text='Fonction Affine', variable=Type, value=2, command=select,  font="Roboto 12",background="#ffffff")
  817. button2.grid(row=3, column=1)
  818.  
  819. button3=Radiobutton(cadre)
  820. button3.configure(text='Vigenere', variable=Type, value=3, command=select,  font="Roboto 12",background="#ffffff")
  821. button3.grid(row=4, column=1)
  822.  
  823. cadre2=Frame(fenetre)
  824. cadre2.configure(bd=2, relief='raised',background="#ffffff")
  825. cadre2.grid(row=6, column=2, padx=10, pady=10, rowspan=3)
  826.  
  827. cadre3=Frame(fenetre)
  828. cadre3.configure(bd=2, relief='raised',background="#ffffff")
  829. cadre3.grid(row=9, column=1, padx=10, pady=10, rowspan=3)
  830.  
  831. cadre4=Frame(fenetre)
  832. cadre4.configure(bd=2, relief='raised',background="#ffffff")
  833. cadre4.grid(row=9, column=3, padx=10, pady=10, rowspan=3)
  834.  
  835. label=Label(fenetre)
  836. label.configure(text='Selection des Clées :',  font="Roboto 16", background="#ffffff")
  837. label.grid(row=5, column=2)
  838.  
  839. clelabel=Label(cadre2)
  840. clelabel.configure(text='Cesar :', font="Roboto 11",background="#ffffff")
  841. clelabel.grid(row=2, column=1, padx=10, pady=5)
  842.  
  843. clelabel2=Label(cadre2)
  844. clelabel2.configure(text=' k = ', font="Roboto 11",background="#ffffff")
  845. clelabel2.grid(row=2, column=3)
  846.  
  847. clelabel3=Label(cadre2)
  848. clelabel3.configure(text='Affine :', font="Roboto 11", background="#ffffff")
  849. clelabel3.grid(row=3, column=1, padx=10, pady=5)
  850.  
  851. clelabel8=Label(cadre2)
  852. clelabel8.configure(text=' a = ', font="Roboto 11", background="#ffffff")
  853. clelabel8.grid(row=3, column=2, padx=10, pady=5)
  854.  
  855. clelabel4=Label(cadre2)
  856. clelabel4.configure(text=' b = ', font="Roboto 11 ", background="#ffffff")
  857. clelabel4.grid(row=3, column=4)
  858.  
  859. clelabel6=Label(cadre2)
  860. clelabel6.configure(text='Vigenere : ', font="Roboto 11", background="#ffffff")
  861. clelabel6.grid(row=4, column=1, padx=10, pady=5)
  862.  
  863. clelabel7=Label(cadre2)
  864. clelabel7.configure(text=' k = ', font="Roboto 11", background="#ffffff")
  865. clelabel7.grid(row=4, column=3)
  866.  
  867. cesarcle=StringVar()
  868. cesarcle.set("Insérez un nombre")
  869.  
  870. cesarentre=Entry(cadre2)
  871. cesarentre.configure(textvariable=cesarcle, state=DISABLED, font="Roboto 11", background="#ffffff")
  872. cesarentre.grid(row=2, column=3, columnspan=5, padx=10)
  873.  
  874. tricle1=StringVar()
  875. tricle1.set("Insérez un nombre")
  876.  
  877. trientre1=Entry(cadre2)
  878. trientre1.configure(textvariable=tricle1, state=DISABLED, font="Roboto 11", background="#ffffff")
  879. trientre1.grid(row=3, column=3, padx=10)
  880.  
  881. tricle2=StringVar()
  882. tricle2.set("Insérez un nombre")
  883.  
  884. trientre2=Entry(cadre2)
  885. trientre2.configure(textvariable=tricle2, state=DISABLED, font="Roboto 11", background="#ffffff")
  886. trientre2.grid(row=3, column=5, padx=10)
  887.  
  888. vigenerecle= StringVar()
  889. vigenerecle.set("Insérez des lettres")
  890.  
  891. vigenereentre=Entry(cadre2)
  892. vigenereentre.configure(textvariable=vigenerecle, state=DISABLED, font="Roboto 11", background="#ffffff")
  893. vigenereentre.grid(row=4, column=3, columnspan=5, padx=10)
  894.  
  895. code=Button(cadre3)
  896. code.configure(text='Crypter', state=DISABLED, font="Roboto 12", background="#ffffff")
  897. code.grid(row=5, column=2)
  898.  
  899. decode=Button(cadre4)
  900. decode.configure(text='Decrypter', state=DISABLED, font="Roboto 12", background="#ffffff")
  901. decode.grid(row=5, column=2)
  902.  
  903. fenetre.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement