
    Ng5                        d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	 defZ
 G d de	          Z G d	 d
e	          ZdededefdZdededefdZdededefdZdededefdZdedededefdZdedededefdZdS )    N)__version__)AESARC4)pad)	CryptBasepycryptodomec                   >    e Zd ZdeddfdZdedefdZdedefdZdS )CryptRC4keyreturnNc                     || _         d S Nr   selfr   s     `/var/www/html/ai-engine/env/lib/python3.11/site-packages/pypdf/_crypt_providers/_pycryptodome.py__init__zCryptRC4.__init__(           datac                 Z    t          j        | j                                      |          S r   )r   
ARC4Cipherr   encryptr   r   s     r   r   zCryptRC4.encrypt+   "    tx((00666r   c                 Z    t          j        | j                                      |          S r   )r   r   r   decryptr   s     r   r   zCryptRC4.decrypt.   r   r   __name__
__module____qualname__bytesr   r   r    r   r   r
   r
   '   sz        E d    7E 7e 7 7 7 77E 7e 7 7 7 7 7 7r   r
   c                   >    e Zd ZdeddfdZdedefdZdedefdZdS )CryptAESr   r   Nc                     || _         d S r   r   r   s     r   r   zCryptAES.__init__3   r   r   r   c                     t          j        d          }t          |d          }t          j        | j        t          j        |          }||                    |          z   S )N   )secretstoken_bytesr   r   newr   MODE_CBCr   )r   r   ivaess       r   r   zCryptAES.encrypt6   sM     $$4}}gdhb11CKK%%%%r   c                    |d d         }|dd          }|s|S t          |          dz  dk    rt          |d          }t          j        | j        t          j        |          }|                    |          }|d |d                   S )Nr(   r   )lenr   r   r+   r   r,   r   )r   r   r-   r.   ds        r   r   zCryptAES.decrypt<   s    #2#YBCCy 	K t99r>QtR==Dgdhb11KKAbE6{r   r   r#   r   r   r%   r%   2   sz        E d    &E &e & & & &E e      r   r%   r   r   r   c                 P    t          j        |                               |          S r   )r   r   r   r   r   s     r   rc4_encryptr5   L        ?3''---r   c                 P    t          j        |                               |          S r   )r   r   r   r4   s     r   rc4_decryptr8   P   r6   r   c                 f    t          j        | t           j                                      |          S r   )r   r+   MODE_ECBr   r4   s     r   aes_ecb_encryptr;   T   $    73%%--d333r   c                 f    t          j        | t           j                                      |          S r   )r   r+   r:   r   r4   s     r   aes_ecb_decryptr>   X   r<   r   r-   c                 h    t          j        | t           j        |                              |          S r   )r   r+   r,   r   r   r-   r   s      r   aes_cbc_encryptrA   \   &    73b))11$777r   c                 h    t          j        | t           j        |                              |          S r   )r   r+   r,   r   r@   s      r   aes_cbc_decryptrD   `   rB   r   )r)   Cryptor   Crypto.Cipherr   r   Crypto.Util.Paddingr   pypdf._crypt_providers._baser   crypt_providerr
   r%   r"   r5   r8   r;   r>   rA   rD   r#   r   r   <module>rJ      s  8        # # # # # # # # # # # # # # 2 2 2 2 2 2 +.7 7 7 7 7y 7 7 7    y   4.U .% .E . . . ..U .% .E . . . .4 4e 4 4 4 4 44 4e 4 4 4 4 48 8E 8 85 8 8 8 88 8E 8 85 8 8 8 8 8 8r   