Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import base64
- import json
- import binascii
- from Crypto.Cipher import AES
- from config import modulus, nonce, pub_key
- modulus = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7'
- nonce = '0CoJUm6Qyw8W8jud'
- pub_key = '010001'
- def encrypted_request(text):
- text = json.dumps(text)
- secKey = createSecretKey(16)
- encText = aesEncrypt(aesEncrypt(text, nonce), secKey)
- encSecKey = rsaEncrypt(secKey, pub_key, modulus)
- data = {'params': encText, 'encSecKey': encSecKey}
- return data
- def aesEncrypt(text, secKey):
- pad = 16 - len(text) % 16
- text = text + chr(pad) * pad
- encryptor = AES.new(secKey, 2, '0102030405060708')
- ciphertext = encryptor.encrypt(text)
- ciphertext = base64.b64encode(ciphertext).decode('utf-8')
- return ciphertext
- def rsaEncrypt(text, pubKey, modulus):
- text = text[::-1]
- rs = pow(int(binascii.hexlify(text), 16), int(pubKey, 16), int(modulus, 16))
- return format(rs, 'x').zfill(256)
- def createSecretKey(size):
- return binascii.hexlify(os.urandom(size))[:16]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement