from Crypto.Cipher import AES
from Crypto.Hash import SHA256
from Crypto import Random
import base64
import urllib
def encrypt_decrypt(action, string, apikey='{your_api_key}', secretkey='{your_secret_key}'):
output = False
encrypt_method = "AES-256-CBC"
secret_key = apikey
secret_iv = secretkey
# hash
key = SHA256.new(secret_key.encode()).digest()[:32]
iv = SHA256.new(secret_iv.encode()).digest()[:16]
if action == 'encrypt':
cipher = AES.new(key, AES.MODE_CBC, iv)
output = base64.b64encode(cipher.encrypt(string.encode())).decode()
output = urllib.parse.quote(output)
elif action == 'decrypt':
cipher = AES.new(key, AES.MODE_CBC, iv)
output = cipher.decrypt(base64.b64decode(urllib.parse.unquote(string))).decode()
return output
ZnJvbSBDcnlwdG8uQ2lwaGVyIGltcG9ydCBBRVMKZnJvbSBDcnlwdG8uSGFzaCBpbXBvcnQgU0hBMjU2CmZyb20gQ3J5cHRvIGltcG9ydCBSYW5kb20KaW1wb3J0IGJhc2U2NAppbXBvcnQgdXJsbGliCgpkZWYgZW5jcnlwdF9kZWNyeXB0KGFjdGlvbiwgc3RyaW5nLCBhcGlrZXk9J3t5b3VyX2FwaV9rZXl9Jywgc2VjcmV0a2V5PSd7eW91cl9zZWNyZXRfa2V5fScpOgogICAgb3V0cHV0ID0gRmFsc2UKICAgIGVuY3J5cHRfbWV0aG9kID0gIkFFUy0yNTYtQ0JDIgogICAgc2VjcmV0X2tleSA9IGFwaWtleQogICAgc2VjcmV0X2l2ID0gc2VjcmV0a2V5CgogICAgIyBoYXNoCiAgICBrZXkgPSBTSEEyNTYubmV3KHNlY3JldF9rZXkuZW5jb2RlKCkpLmRpZ2VzdCgpWzozMl0KICAgIGl2ID0gU0hBMjU2Lm5ldyhzZWNyZXRfaXYuZW5jb2RlKCkpLmRpZ2VzdCgpWzoxNl0KCiAgICBpZiBhY3Rpb24gPT0gJ2VuY3J5cHQnOgogICAgICAgIGNpcGhlciA9IEFFUy5uZXcoa2V5LCBBRVMuTU9ERV9DQkMsIGl2KQogICAgICAgIG91dHB1dCA9IGJhc2U2NC5iNjRlbmNvZGUoY2lwaGVyLmVuY3J5cHQoc3RyaW5nLmVuY29kZSgpKSkuZGVjb2RlKCkKICAgICAgICBvdXRwdXQgPSB1cmxsaWIucGFyc2UucXVvdGUob3V0cHV0KQogICAgZWxpZiBhY3Rpb24gPT0gJ2RlY3J5cHQnOgogICAgICAgIGNpcGhlciA9IEFFUy5uZXcoa2V5LCBBRVMuTU9ERV9DQkMsIGl2KQogICAgICAgIG91dHB1dCA9IGNpcGhlci5kZWNyeXB0KGJhc2U2NC5iNjRkZWNvZGUodXJsbGliLnBhcnNlLnVucXVvdGUoc3RyaW5nKSkpLmRlY29kZSgpCgogICAgcmV0dXJuIG91dHB1dAoK