U
    	ŸÖjw  ã                   @   sJ   d dl Z d dlZd dlZd dlZd dlZd dlmZ ddd„Zdd„ ZdS )	é    N)Úurlsplité,  c                 C   s\   | t t ¡ ƒ| dœ}tj|dd� d¡}t ||tj¡ 	¡ }t
 || ¡ d¡ d¡}|S )N)ÚurlÚexp)ú,ú:)Z
separatorszutf-8Úasciiú=)ÚintÚtimeÚjsonÚdumpsÚencodeÚhmacÚnewÚhashlibÚsha256ÚdigestÚbase64Zurlsafe_b64encodeÚdecodeÚrstrip)r   ÚsecretoZduracionÚdatosÚ	contenidoÚfirmaÚtoken© r   úhermes_hls_tokens.pyÚcrear_token	   s,    þþýýÿþþr   c                 C   s¢   dt | ƒ d  }t | | ¡}t |ƒdk r4tdƒ‚|d d… }|dd … }t ||tj¡ ¡ }t 	||¡sttdƒ‚t
 |¡}t|d ƒt ¡ k rštdƒ‚|d	 S )
Nr	   é   é!   zToken invalidoiàÿÿÿzFirma invalidar   zToken expirador   )Úlenr   Zurlsafe_b64decodeÚ
ValueErrorr   r   r   r   r   Zcompare_digestr   Úloadsr
   r   )r   r   ZrellenoZbrutor   r   Zesperadar   r   r   r   Úverificar_token!   s&    ÿý
r$   )r   )	r   r   r   r   r   Zurllib.parser   r   r$   r   r   r   r   Ú<module>   s   
