o
    ނi                     @   s   d dl Z d dlmZ d dlmZmZ d dlmZ dZd	dZ
dd	 Zd
d Zd dlZd dlZd dl Z d dlZd dlmZ d dlmZ dd Zdd ZdS )    N)AES)unpadpad)get_random_byteszHIRELINES@GSSPECGSSPEC2024HLINESutf-8c              
   C   s|   z)t t|  d} ttdtjt}t	|
| ddddddW S  ty= } ztdt|  d }~ww )	N   r   ignore/_+[zError in encrypt: )r   strencoder   newkeyMODE_CBCivbase64	b64encodeencryptdecodereplace	Exceptionprint)dataciphererr r   2/home/acert/hirelines/app_api/functions/enc_dec.pyencrypt_code   s   *r    c              
   C   st   z%t | dddd}ttdtjt}t	|
|dddW S  ty9 } ztdt|  d }~ww )	Nr   r
   r   r   r   r   r	   zError in decrypt: )r   	b64decoder   r   r   r   r   r   r   r   decryptr   r   r   r   )r   encr   r   r   r   r   decrypt_code   s   r$   )hashes)default_backendc                 C   s0   t jt  t d}|| d |  S )N)backendr   )r%   HashSHA256r&   updater   finalizehex)input_stringsha256r   r   r   calculate_sha256_string*   s   r/   c                 C   s$   t | }|d}t|dS )Nr   )jsonsdumpsr   r   r   r   )
input_dict	json_data
data_bytesr   r   r   base64_encode4   s   

r5   )r   Crypto.Cipherr   Crypto.Util.Paddingr   r   Crypto.Randomr   r   r   r   r    r$   	shortuuidr0   requestscryptography.hazmat.primitivesr%   cryptography.hazmat.backendsr&   r/   r5   r   r   r   r   <module>   s     



