o
    &zh\                     @   sV   d dl Z d dlZd dlZd dlmZ ddlmZ dZdedede	fd	d
Z
dd ZdS )    N)datetime   )ERRORSi  firstsecondreturnc                 C   st   zt t| ddd d}t t|ddd d}W n ty+   ttjjw ttt	dd t
||S )z0Calculate Hamming Distance between to hex string   r   N@   c                 S   s   t | d t | d A S )Nr      )ord)x r   W/var/www/html/kangema/venv/lib/python3.10/site-packages/imagekitio/utils/calculation.py<lambda>   s    z"hamming_distance.<locals>.<lambda>)binintzfill	TypeErrorr   INVALID_PHASH_VALUEvaluelenlistfilterzip)r   r   abr   r   r   hamming_distance   s    r   c                 C   s   t t  t }| ptt } |p|}| |dd}|s d S tj	|
 | t| 
 tjd }| |d< ||d< ||d< |S )N )tokenexpire	signature)keymsg	digestmodr   r   r    )r   dtnow	timestampDEFAULT_TIME_DIFFstruuiduuid4hmacnewencodehashlibsha1	hexdigest)r   r   private_keydefault_expireauth_paramsr    r   r   r   get_authenticated_params   s"   r4   )r.   r+   r)   r   r$   constants.errorsr   r'   r(   r   r   r4   r   r   r   r   <module>   s    