Bonjour à vous!
Voila j'ai un soucis, j'ai
- Un GUI en wxpython que j'ai pris sur internet
- Un code pour chiffrer/déchiffrer des messages
(les codes à la fin)
J'aimerai les compiler en 1 seul programme.exe
J'avoue que je m'embrouille un peu, je suis débutant en python, c'est peut être pas très judicieux de commencer par les GUI, mais c'est obligé. Je dois distribuer ça à des personnes sans python en 1 seul fichier.
Bon mon code pour chiffrer/déchiffrer n'est sûrement pas propre, le plus important c'est que ça marche hein ^^
GUI :
Schéma code : ABCD devient DCBA puis DBCA puis QOPN
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 #!/usr/bin/python # -*- coding: iso-8859-1 -*- try: import wx except ImportError: raise ImportError,"The wxPython module is required to run this program" class simpleapp_wx(wx.Frame): def __init__(self,parent,id,title): wx.Frame.__init__(self,parent,id,title) self.parent = parent self.initialize() def initialize(self): sizer = wx.GridBagSizer() self.entry = wx.TextCtrl(self,-1,value=u"Ici texte à chiffrer ou déchiffré, tu peux Copier/Coller") sizer.Add(self.entry,(0,0),(1,1),wx.EXPAND) self.Bind(wx.EVT_TEXT_ENTER, self.OnPressEnter, self.entry) button = wx.Button(self,-1,label="Clique moi !") sizer.Add(button, (0,1)) self.Bind(wx.EVT_BUTTON, self.OnButtonClick, button) self.label = wx.TextCtrl(self,-1,value=u'Ici texte chiffré/déchiffré, tu peux Copier/Coller') sizer.Add( self.label, (1,0),(1,2), wx.EXPAND ) sizer.AddGrowableCol(0) self.SetSizerAndFit(sizer) self.SetSizeHints(-1,self.GetSize().y,-1,self.GetSize().y ); self.entry.SetFocus() self.entry.SetSelection(-1,-1) self.Show(True) def OnButtonClick(self,event): self.label.SetLabel( self.entry.GetValue()) self.label.SetFocus() self.label.SetSelection(-1,-1) def OnPressEnter(self,event): self.label.SetLabel( self.entry.GetValue()) self.label.SetFocus() self.label.SetSelection(-1,-1) if __name__ == "__main__": app = wx.App() frame = simpleapp_wx(None,-1,'Just4That') app.MainLoop()
C'est un chiffrement réversible, je veux vraiment un truc facile d'utilisation, rapide dans la mesure où on peut C/C dans un chat instantané.
Code chiffrement :
While c'était pour boucler à l'infini.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 #INPUT i = 0 while (i==0): z = raw_input('Entre le texte =) : ') #REVERSE v = z#[::-1] apparemment ici ça inverser dans le bon sens enfin bref passons #INVERSE m = [v] for slash in m: n = len(slash) n /= 2 var1 = v[n::1] var2 = v[:n:1] n /= 2 var3 = var1[n::1] var4 = var1[:n:1] var5 = var2[n::1] var6 = var2[:n:1] v = var3 + var5 + var4 + var6 #ROT13 LOWER_LETTERS = [chr(x) for x in range(97, 123)]; UPPER_LETTERS = [chr(x) for x in range(65, 91)]; def rot13(): sourceString = v; resultString = ""; for char in sourceString: if char.isupper(): resultString += encrypt(char, UPPER_LETTERS); elif char.islower(): resultString += encrypt(char, LOWER_LETTERS); else: resultString += char; print('Resultat : %s\n' % (resultString)); def encrypt(char, letterList): resultchar = ''; originalIndex = letterList.index(char) newIndex = originalIndex + 13 resultchar += letterList[newIndex % len(letterList)] return resultchar if __name__ == '__main__': rot13();
Merci de votre indulgence quant au code
Voila je sais pas comment mettre en relation tout ça, me faudrait des explications siouplait![]()
Partager