#https://github.com/noraj/flask-session-cookie-manager/blob/master/flask_session_cookie_manager3.py #python3 -m pip install flask #python3 -m pip install itsdangerous import zlib from itsdangerous import base64_decode import ast from flask.sessions import SecureCookieSessionInterface class MockApp(object): def __init__(self, secret_key): self.secret_key = secret_key def encode(secret_key, session_cookie_structure): try: app = MockApp(secret_key) session_cookie_structure = dict(ast.literal_eval(session_cookie_structure)) si = SecureCookieSessionInterface() s = si.get_signing_serializer(app) return s.dumps(session_cookie_structure) except Exception as e: return "[Encoding error] {}".format(e) raise e def decode(session_cookie_value, secret_key=None): try: if(secret_key==None): compressed = False payload = session_cookie_value if payload.startswith('.'): compressed = True payload = payload[1:] data = payload.split(".")[0] data = base64_decode(data) if compressed: data = zlib.decompress(data) return data else: app = MockApp(secret_key) si = SecureCookieSessionInterface() s = si.get_signing_serializer(app) return s.loads(session_cookie_value) except Exception as e: return "[Decoding error] {}".format(e) raise e SECRET_KEY = 'Sup3rUnpredictableK3yPleas3Leav3mdanfe12332942' print(decode("eyJBZG1pbiI6ImFkbWluIiwidGVzdCI6W119.YL5ioA.dSRlyDjrksMaHk-aM7xuO1KjGXg",SECRET_KEY))