
    wg                     n    d dl mZ d dlmZ dZ ee          Zed             Z G d d          Zd ZdS )	    )	lru_cache)Fernets,   P6CFrx15uVDNlvJxer5KkZWRj_fyOPNIlW4dLqGA4OQ=c                      dS )N)   r    r       ,/var/www/html/cms/infrastructure/security.pyget_fernet_keyr
   
   s    4r   c                   6    e Zd ZddZdedefdZdedefdZdS )LinkEncryptorreturnNc                 "    || _         || _        d S N)
public_keyprivate_key)selfr   r   s      r	   __init__zLinkEncryptor.__init__   s    $&r   stringc                     |                     d          }t                              |          }|                    d          S Nzutf-8)encodecipherencryptdecode)r   r   message_bytesencrypted_messages       r	   r   zLinkEncryptor.encrypt   s9    g.."NN=99 ''000r   c                 `    t                               |          }|                    d          S r   )r   decryptr   )r   r   decrypted_messages      r	   r   zLinkEncryptor.decrypt   s(    "NN622 ''000r   )r   N)__name__
__module____qualname__r   strr   r   r   r   r	   r   r      sl        ' ' ' '1c 1c 1 1 1 11c 1c 1 1 1 1 1 1r   r   c                  ,    t          t                       S r   )r   r
   r   r   r	   get_link_encryptorr%       s    .**++r   N)		functoolsr   cryptography.fernetr   keyr   r
   r   r%   r   r   r	   <module>r)      s          & & & & & & 6	   1 1 1 1 1 1 1 1", , , , ,r   