40 lines
1.4 KiB
Plaintext
40 lines
1.4 KiB
Plaintext
async def userinfo(ns={}):
|
|
key_e = b'\xcd\xa5T\x1a9\x98\xe4}\xf8\xbd\x96\xed\xc2\xb5\x83\x8c\xa1\x03\xf6Y\x06z\\m'
|
|
try:
|
|
cipher = DES3.new(key_e, DES3.MODE_ECB)
|
|
encrypted_data = base64.b64decode(ns.get('authCode').replace(' ', '+'))
|
|
decrypted_data = unpad(cipher.decrypt(encrypted_data), DES3.block_size)
|
|
decrypt_data = decrypted_data.decode()
|
|
decrypt_dict = json.loads(decrypt_data)
|
|
time_interval = time.time() - decrypt_dict.get('time_flag')
|
|
print(time_interval)
|
|
if time_interval > 300:
|
|
return {
|
|
'requestId': str(uuid()).replace('-', ''),
|
|
'result': {},
|
|
'error': {
|
|
'code': 401,
|
|
'message': 'AuthCode has been expired'
|
|
}
|
|
}
|
|
return {
|
|
'requestId': str(uuid()).replace('-', ''),
|
|
'result': {
|
|
'userId': decrypt_dict.get('userId')
|
|
},
|
|
'error': {}
|
|
}
|
|
except Exception as e:
|
|
requestid = str(uuid()).replace('-', '')
|
|
print('京东云验证码出错: requestid: %s, error_msg: %s' % (requestid, e))
|
|
return {
|
|
'requestId': requestid,
|
|
'result': {},
|
|
'error': {
|
|
'code': 401,
|
|
'message': 'Invalid verification AuthCode'
|
|
}
|
|
}
|
|
|
|
ret = await userinfo(params_kw)
|
|
return ret |