
    Wwg                     V    d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	 ddZ
ddZd Zy)	    N)ARC4)padding)Cipher
algorithmsmodesc                 x   t        t        j                  |       t        j                  |            }|j                         }|j                  |      |j                         z   }|rSt        |      dkD  rEt        j                  d      j                         }|j                  |      |j                         z   S |S )Nr      )r   r   AESr   CBC	decryptorupdatefinalizelenr   PKCS7unpadder)keydataivuse_paddingcipherr   	plaintextr   s           T/var/www/horilla/myenv/lib/python3.12/site-packages/pyhanko/pdf_utils/crypt/_util.pyaes_cbc_decryptr   	   s    JNN3'27F  "I  &););)==I s9~)==%..0y)H,=,=,???    c                    |t        j                  d      }t        t        j                  |       t        j                  |            }|j                         }|rEt        j                  d      j                         }|j                  |      |j                         z   }||j                  |      |j                         z   fS )N   r	   )secretstoken_bytesr   r   r
   r   r   	encryptorr   r   padderr   r   )r   r   r   r   r   r   r    s          r   aes_cbc_encryptr!      s    	z  $JNN3'27F  "Is#**,}}T"V__%66y%	(:(:(<<<<r   c                     t        t        |       d       }|j                         }|j                  |      |j	                         z   S )N)mode)r   r   r   r   r   )r   r   r   r   s       r   rc4_encryptr$   !   s?    DID)F  "ID!I$6$6$888r   )T)r   struct/cryptography.hazmat.decrepit.ciphers.algorithmsr   cryptography.hazmat.primitivesr   &cryptography.hazmat.primitives.ciphersr   r   r   r   r!   r$    r   r   <module>r*      s&      @ 2 L L
=9r   