| 123456789101112131415161718192021222324252627282930 |
- 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))
|