def OnButtonClick(self):
self.labelVariable.set("Encrypting...")
string = self.entryVariable.get()
encrypted_text = ""
crypt = ""
for c in string:
crypt = crypt + c.replace('A','F5K')
crypt = crypt + c.replace('B','O7C')
crypt = crypt + c.replace('C','E1S')
crypt = crypt + c.replace('D','K1M')
crypt = crypt + c.replace('E','U5E')
crypt = crypt + c.replace('F','Q2D')
crypt = crypt + c.replace('G','J0J')
crypt = crypt + c.replace('H','I3L')
crypt = crypt + c.replace('I','T2T')
crypt = crypt + c.replace('J','F7D')
crypt = crypt + c.replace('K','R9Q')
crypt = crypt + c.replace('L','L2Y')
crypt = crypt + c.replace('M','G9C')
crypt = crypt + c.replace('N','S3C')
crypt = crypt + c.replace('O','F2E')
crypt = crypt + c.replace('P','E3G')
crypt = crypt + c.replace('Q','I0G')
crypt = crypt + c.replace('R','O1W')
crypt = crypt + c.replace('S','Q3G')
crypt = crypt + c.replace('T','D0N')
crypt = crypt + c.replace('U','S8I')
crypt = crypt + c.replace('V','U8Y')
crypt = crypt + c.replace('W','L4D')
crypt = crypt + c.replace('X','B2K')
crypt = crypt + c.replace('Y','L7K')
crypt = crypt + c.replace('Z','W6L')
crypt = crypt + c.replace('a','P8Q')
crypt = crypt + c.replace('b','I5E')
crypt = crypt + c.replace('c','C6D')
crypt = crypt + c.replace('d','Q2L')
crypt = crypt + c.replace('e','N4Y')
crypt = crypt + c.replace('f','J8S')
crypt = crypt + c.replace('g','D9I')
crypt = crypt + c.replace('h','P2N')
crypt = crypt + c.replace('i','A8D')
crypt = crypt + c.replace('j','I2I')
crypt = crypt + c.replace('k','W4Y')
crypt = crypt + c.replace('l','V1B')
crypt = crypt + c.replace('m','F4R')
crypt = crypt + c.replace('n','Y7K')
crypt = crypt + c.replace('o','L2K')
crypt = crypt + c.replace('p','J3J')
crypt = crypt + c.replace('q','R2W')
crypt = crypt + c.replace('r','A7S')
crypt = crypt + c.replace('s','C9C')
crypt = crypt + c.replace('t','S2M')
crypt = crypt + c.replace('u','F4W')
crypt = crypt + c.replace('v','V7F')
crypt = crypt + c.replace('w','D6V')
crypt = crypt + c.replace('x','A7L')
crypt = crypt + c.replace('y','O5R')
crypt = crypt + c.replace('z','Q3L')
crypt = crypt + c.replace('1','Z3W')
crypt = crypt + c.replace('2','B51')
crypt = crypt + c.replace('3','G1N')
crypt = crypt + c.replace('4','A8T')
crypt = crypt + c.replace('5','N7T')
crypt = crypt + c.replace('6','O7N')
crypt = crypt + c.replace('7','J0L')
crypt = crypt + c.replace('8','C7Q')
crypt = crypt + c.replace('9','M7V')
crypt = crypt + c.replace('0','N3B')
crypt = crypt + c.replace(',','M5Z')
crypt = crypt + c.replace('.','O2O')
crypt = crypt + c.replace('!','E7L')
crypt = crypt + c.replace('?','Z1N')
crypt = crypt + c.replace("'",'G7M')
crypt = crypt + c.replace('"','P6B')
crypt = crypt + c.replace(' ','S31')
crypt = crypt + c.replace('(','O4F')
crypt = crypt + c.replace(')','H6F')
crypt = crypt + c.replace('@','W9C')
crypt = crypt + c.replace('#','B7Q')
crypt = crypt + c.replace('&','G1Y')
crypt = crypt + c.replace('*','Y2Z')
crypt = crypt + c.replace('-','Z1X')
crypt = crypt + c.replace('_','C9G')
crypt = crypt + c.replace('+','O2Q')
crypt = crypt + c.replace('=','C7A')
crypt = crypt + c.replace("$",'D4E')
crypt = crypt + c.replace('/','Q61')
crypt = crypt + c.replace('<','M3T')
crypt = crypt + c.replace('>','H6X')
crypt = crypt + c.replace(';','E8I')
crypt = crypt + c.replace(':','Y1U')
crypt = crypt + c.replace('%','J3N')
crypt = crypt + c.replace('^','P0Q')
divide4count = 0
for c in crypt:
divide4count = divide4count + 1
if divide4count%3.0 == 0:
c2 = c + random.choice('1234567890')
encrypted_text = encrypted_text + c2
else:
encrypted_text = encrypted_text + c
self.entryVariable.set(encrypted_text[::-1])
self.labelVariable.set("Encrypted")
self.entry.selection_range(0, Tkinter.END)
The goal of this program is to make a simple secret code for privacy purposes. The output is supposed to be in this format: X1X1X1X1X1X1X1X1X1X1X1 Letter, Number, Letter, Random junk number
However, after entering a lowercase a as input, it encrypted it to aa9aaa1aaa6aaa0aaa5aaa8aaa9aaa8aaa6aaa6aaa3aaa9aaa4aaa9aaa4aaa3aaa3aaa6aaa4aaa7aQ85Paa3aaa2aaa6aaa5aaa7aaa9aaa0aaa5aaa
The code converts symbols (the alphabet and punctuation.) to alphanumeric strings of the format X1X, the adds a random number after those to make it a letter, number pattern.
Can anyone explain to me why I am getting a different output than the one I intended to get?Also could you please help me in fixing it?
Lastly, could anyone tell me whether this code is secure, and if not, how it could be broken, so I can improve it?