EdjSignUtils.cpython-311.pyc•5.22 kB
�
�Qrh� � � � d dl Z d dlmZmZ d dlZd dlmZ d dlmZ d dl Z G d� d� � Z
d� Zedk r
e� � dgZ
dS ) � N)�Dict�List)�AES)�unpadc �� � e Zd ZdZdZedeeef dedefd�� � Zededefd�� � Z edeeef de
fd �� � Zede
defd
�� � Zededefd�� � Z
d
S )�EdjSignUtilsu
e代驾签名工具类
�1234567890abcdef�params�secret�returnc �� � t � | � � }t � |� � }||z |z }t � |� � dd� }|S )u�
生成签名的方法
:param params: 本次请求的所有参数都放在此dict中
:param secret: e代驾分配的SECRET
:return: 签名字符串
N� )r �sort�create_query_str�md5)r
r �params_list� query_str�md_str�sigs �:/Users/dongfengsu/Dev/edaijiamcp/edjserver/EdjSignUtils.py�generate_sigzEdjSignUtils.generate_sig sZ � � #�'�'��/�/�� �1�1�+�>�>� ��)�#�f�,�����v�&�&�s��s�+���
� �
encrypt_tokenc �& � t j t j � � � t j � � }t
j | � � }|� |� � }t |t j
� � � � � }|S )u�
AES解密token
:param encrypt_token: 加密的token字符串
:param random_key: 解密密钥(randomkey参数值)
:return: 解密后的token
)r �newr �DEFAULT_RANDOMKEY�encode�MODE_ECB�base64� b64decode�decryptr �
block_size�decode)r �cipher�encrypted_data�decrypted_data�tokens r �
decrypt_tokenzEdjSignUtils.decrypt_token si � � ���7�>�>�@�@�#�,�O�O���)�-�8�8������7�7���n�c�n�5�5�<�<�>�>���r c �J � t | � � � d� �� � S )u-
对参数字典按key排序
c � � | d S )Nr � )�xs r �<lambda>z#EdjSignUtils.sort.<locals>.<lambda>3 s
� �A�a�D� r )�key)�sorted�items)r
s r r zEdjSignUtils.sort. s! � �
�f�l�l�n�n�.�.�9�9�9�9r c �� � g }| D ]U\ }}|dvrL|� t |� � � � |�(|dk r"|� t |� � � � �Vd� |� � S )u'