B
    KDb                 @   sB   d dl mZ d dlmZmZ dZdZdddZdd	 Zd
d Z	dS )    )AES)b2a_hexa2b_hexzchina@2018encryption#aeszzkteco@china2019Fc             C   s\   |r"| dt t| ddd   S tj}t| d|t| |  t|t| |    S )Nr   zutf-8)encoding)ordstrr   
block_sizeencodedecodelenchr)datarestorer	    r   6G:\easytimepro\master/mysite/tools\encryption_utils.pyfilling_data   s    r   c             C   s<   t ttt jtt}|tt| }t	|}|S )z
    Encryption
    :param content: The length of content must be times of AES.block_size, using filling_data to fill out
    :return:
    )
r   newr   r
   AES_PASSWORDMODE_CBCAES_IVZencryptr   r   )contentcipherZ	encryptedresultr   r   r   aes_encrypt   s    r   c             C   s>   ddl }ttttjtt}t|	t
| dd}|S )zG
    Decryption
    :param content: Encryption string
    :return:
    r   NT)r   )codecsr   r   r   r
   r   r   r   r   Zdecryptr   )r   r   r   r   r   r   r   aes_decrypt   s    r   N)F)
ZCrypto.Cipherr   binasciir   r   r   r   r   r   r   r   r   r   r   <module>   s   
