nht_cntt

AES python

Dec 18th, 2019
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.00 KB | None | 0 0
  1. #pip install pycryptodome
  2.  
  3. import binascii
  4. from Crypto.Cipher import AES
  5.  
  6. def _unpad_string(in_string):
  7.     in_len = len(in_string)
  8.     pad_size = ord(in_string[-1])
  9.     if pad_size > 16:
  10.         raise ValueError('Input is not padded or padding is corrupt')
  11.     return in_string[:in_len - pad_size]
  12.  
  13. def decrypt(in_encrypted, in_key, in_iv):
  14.     key = binascii.a2b_hex(in_key)
  15.     iv = binascii.a2b_hex(in_iv)
  16.     aes = AES.new(key, AES.MODE_CBC, iv)      
  17.    
  18.     decrypted = aes.decrypt(binascii.a2b_base64(in_encrypted).rstrip())
  19.     return decrypted
  20.  
  21. if __name__ == '__main__':
  22.     iv = "31333537393234363830363534333231"
  23.     key = "8148bd29ecfebd2755d382bd4d47bad624e479d7caa656c7da2880ec307d9f29"
  24.     data_enc = "GBzTCTfVuERNzjTpr82FR8TfC0E+TtpQzLwf+A9Nd3rvrk0BsezclxzPA2uoPx3i8/su7/PHJPGV14aDiB6B1U/wRYIh6+zSRBfpfGf6DpOZmiR5XD2kzgHCBtlzJc97dOJfy9yPxNlnIAQvJCrn3w=="
  25.     data_dec = decrypt(data_enc, key, iv)
  26.     print (data_dec)
  27.     print (data_dec.decode('utf-8').replace('\x00', ''))
Advertisement
Add Comment
Please, Sign In to add comment