Lulz-Tigre

Another Boring Encryption

May 30th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import getpass
  2. import time
  3. import sys
  4. class bin2ascii:
  5.     def cal(self, asd):
  6.         asd = asd.replace('0b', '')
  7.         num = asd[::-1]
  8.         MultOfTwo= [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072]
  9.         value= ''
  10.         for i in range(len(num)):
  11.             additives = int(num[i])* int(MultOfTwo[i])
  12.             value += str(additives) + '+'
  13.         else:
  14.             value += '0'
  15.             return eval(value)
  16. b2a = bin2ascii()
  17. class crypter:
  18.     def __passys__(self):
  19.         pas = getpass.getpass('')
  20.         if pas != '1':
  21.             print'Access Denied!'
  22.             time.sleep(2)
  23.             sys.exit()
  24.         else:
  25.             pass
  26.     def __init__(self):
  27.         print'Please enter the passcode:'
  28.         self.__passys__()
  29.         while True:
  30.             print'What do you want to do: E = Encrypt / D = Decrypt / Q = Quit'
  31.             choice = raw_input()
  32.             if choice.startswith('e'):
  33.                 self.encrypt()
  34.             elif choice.startswith('d'):
  35.                 self.decrypt()
  36.             elif choice.startswith('q'):
  37.                 sys.exit()
  38.             else:
  39.                 print'E = Encrypt / D = Decrypt / Q = Quit'
  40.     def encrypt(self):
  41.         OEtext = ''
  42.         key = raw_input('Please input the key for the Encryprion: ')
  43.         print'please input the text you wish to encrypt:'
  44.         PText = raw_input()
  45.         for letter in PText:
  46.             FakeAsciiVal = ord(letter) + int(key)
  47.             while FakeAsciiVal > 126:
  48.                 FakeAsciiVal -= 96
  49.             BiVal = bin(FakeAsciiVal)
  50.             BiVal = BiVal.replace('0b', '')
  51.             OELetter = BiVal
  52.             OELetter = OELetter.replace('1', '\'')
  53.             OELetter = OELetter.replace('0', ',')
  54.             OELetter += '`'
  55.             OEtext += OELetter
  56.         print'Your crypter text is :', OEtext
  57.     def decrypt(self):
  58.         key = raw_input('Please input the key for the Decryption: ')
  59.         print'please input the text you wish to decrypt:'
  60.         EText = raw_input()
  61.         EText = EText.replace('\'', '1')
  62.         EText = EText.replace(',', '0')
  63.         EText = EText.replace(' ', '')
  64.         ELetter = ''
  65.         DText = ''
  66.         for EByte in EText:
  67.             if EByte != '`':
  68.                 ELetter += EByte
  69.             else:
  70.                 EWord = ELetter[:]
  71.                 b2a = bin2ascii()
  72.                 code = int(b2a.cal(EWord)) - int(key)
  73.                 while code  < 32:
  74.                     code += 96
  75.                 DText += chr(code)
  76.                 EWord = ''
  77.                 ELetter = ''
  78.         print DText
  79.  
  80.                
  81.  
  82.  
  83.  
  84. if __name__ == '__main__':
  85.     crypter()
  86. else:
  87.     pass
Add Comment
Please, Sign In to add comment