
    ݦi                         d dl Z d dlmZ d dlmZmZ d dlmZ dZdj                  d      Z
d Z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 Zd Zy)    N)AES)unpadpad)get_random_byteszHIRELINES@GSSPECGSSPEC2024HLINESutf-8c                    	 t        t        |       j                         d      } t        j                  t
        j                  d      t        j                  t              }t        j                  |j                  |             j                  dd      j                  dd      j                  dd      S # t        $ r}t        dt        |              d }~ww xY 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errs      6/home/hirelines/hirelines/app_api/functions/enc_dec.pyencrypt_coder!      s    #d)""$R(G,S\\"=  !56==gxPYYZ]^abjjknorss "3s8,s   B2B5 5	C>CCc                    	 t        j                  | j                  dd      j                  dd            }t        j                  t
        j                  d      t        j                  t              }t        |j                  |      d      j                  dd      S # t        $ r}t        dt        |              d }~ww xY 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   s       r    decrypt_coder&      s    t||C4<<SEFG,cllB?V^^C(,33GXFF "3s8,s   BB 	C'B==C)hashes)default_backendc                     t        j                  t        j                         t                     }|j	                  | j                  d             |j                         j                         S )N)backendr   )r'   HashSHA256r(   updater   finalizehex)input_stringsha256s     r    calculate_sha256_stringr2   *   sH    [[/2CDF
MM,%%g./??  ""    c                     t        j                  |       }|j                  d      }t        j                  |      j                  d      S )Nr   )jsonsdumpsr   r   r   r   )
input_dict	json_data
data_bytess      r    base64_encoder:   4   s<    J'I!!'*JJ'..w77r3   )r   Crypto.Cipherr   Crypto.Util.Paddingr   r   Crypto.Randomr   r   r   r   r!   r&   	shortuuidr5   requestscryptography.hazmat.primitivesr'   cryptography.hazmat.backendsr(   r2   r:    r3   r    <module>rC      sP      * * (     1 8#8r3   