import json import base64 import random def base64url_decode(base64_str): size = len(base64_str) % 4 if size == 2: base64_str += '==' elif size == 3: base64_str += '=' elif size != 0: raise ValueError('Invalid base64 string') return base64.urlsafe_b64decode(base64_str.encode('utf-8')) def parse_jwt(jwt_token): jwt_token_list = jwt_token.split('.') header = base64url_decode(jwt_token_list[0]).decode() payload = base64url_decode(jwt_token_list[1]).decode() return { 'header': json.loads(header), 'payload': json.loads(payload), 'signature': jwt_token_list[-1] } def generate_random_code(n): range_start = 10**(n-1) range_end = (10**n)-1 return str(random.randint(range_start, range_end))