a
    h                     @   sT   d dl Zd dlmZmZ dd Z dd Zdd Zd	d
 Zdd Zdd Z	dd Z
dS )    N)	b64decode	b64encodec                 C   s   t j||| d S )N)msgZ	digestmod)hmacanewdigest)hfkeyr    r
   G/var/www/html/efn/efnconsultor/selenium/selenium-4.34.2/scramp/utils.pyhmac   s    r   c                 C   s   | |  S N)r   )r   r   r
   r
   r   h	   s    r   c                 C   s@   t | ||d  }}t|d D ]}t | ||}t||}q |S )Ns         )r   rangexor)r   passwordsalt
iterationsuuiir
   r
   r   hi   s
    r   c                 C   s   t dd t| |D S )Nc                 s   s   | ]\}}||A V  qd S r   r
   ).0abr
   r
   r   	<genexpr>       zxor.<locals>.<genexpr>)byteszip)Zbytes1Zbytes2r
   r
   r   r      s    r   c                 C   s   t | dS )Nutf8)r   decode)binaryr
   r
   r   b64enc   s    r#   c                 C   s   t | S r   )r   stringr
   r
   r   b64dec   s    r&   c                 C   s
   |  dS )Nzutf-8)encoder$   r
   r
   r   uenc!   s    r(   )r   r   base64r   r   r   r   r   r#   r&   r(   r
   r
   r
   r   <module>   s   