
    BCh                     V    d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d Z
d Zd Zy)	    N)Fernet)hashes)
PBKDF2HMAC)current_appc                      t         j                  d   j                         } d}t        t	        j
                         d|d      }t        j                  |j                  |             }|S )z.Get the encryption key from the app secret key
SECRET_KEYs   sqlgenai_static_salt    i )	algorithmlengthsalt
iterations)	r   configencoder   r   SHA256base64urlsafe_b64encodederive)passwordr   kdfkeys       %/var/www/html/app/utils/encryption.pyget_encryption_keyr      sb     !!,/668H #D --/	C 
"
"3::h#7
8CJ    c                     | syt               }t        |      }|j                  | j                               }|j	                         S )zEncrypt a database password )r   r   encryptr   decode)r   r   fencrypted_passwords       r   encrypt_passwordr       s>    

CsA8??#45$$&&r   c                     | syt               }t        |      }|j                  | j                               }|j	                         S )zDecrypt a database passwordr   )r   r   decryptr   r   )r   r   r   decrypted_passwords       r   decrypt_passwordr$   %   sA    

CsA#5#<#<#>?$$&&r   )osr   cryptography.fernetr   cryptography.hazmat.primitivesr   )cryptography.hazmat.primitives.kdf.pbkdf2r   flaskr   r   r    r$    r   r   <module>r+      s&    	  & 1 @ &''r   