ProPeler
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
lib
/
python3
/
dist-packages
/
twisted
/
cred
/
__pycache__
/
Filename :
_digest.cpython-38.pyc
back
Copy
U W[ � @ sZ d Z ddlmZmZ ddlmZ ddlmZmZ eeed�Z d dd�Z d d � Zdd� ZdS )z^ Calculations for HTTP Digest authentication. @see: U{http://www.faqs.org/rfcs/rfc2617.html} � )�division�absolute_import)�hexlify)�md5�sha1)s md5� md5-sesss shaNc C s� |r|s|s|rt d��|dkrjt| � }|�|� |�d� |�|� |�d� |�|� t|�� �}n|}| dkr�t| � }|�|� |�d� |�|� |�d� |�|� t|�� �}|S )a: Compute H(A1) from RFC 2617. @param pszAlg: The name of the algorithm to use to calculate the digest. Currently supported are md5, md5-sess, and sha. @param pszUserName: The username @param pszRealm: The realm @param pszPassword: The password @param pszNonce: The nonce @param pszCNonce: The cnonce @param preHA1: If available this is a str containing a previously calculated H(A1) as a hex string. If this is given then the values for pszUserName, pszRealm, and pszPassword must be L{None} and are ignored. zPpreHA1 is incompatible with the pszUserName, pszRealm, and pszPassword argumentsN� :r )� TypeError� algorithms�updater �digest) ZpszAlgZpszUserNameZpszRealmZpszPassword�pszNonce� pszCNonceZpreHA1�m�HA1� r �6/usr/lib/python3/dist-packages/twisted/cred/_digest.py�calcHA1$ s( r c C sP t | � }|�|� |�d� |�|� |dkrD|�d� |�|� t|�� �S )a� Compute H(A2) from RFC 2617. @param pszAlg: The name of the algorithm to use to calculate the digest. Currently supported are md5, md5-sess, and sha. @param pszMethod: The request method. @param pszDigestUri: The request URI. @param pszQop: The Quality-of-Protection value. @param pszHEntity: The hash of the entity body or L{None} if C{pszQop} is not C{'auth-int'}. @return: The hash of the A2 value for the calculation of the response digest. r s auth-int�r r r r )�algoZ pszMethodZpszDigestUri�pszQopZ pszHEntityr r r r �calcHA2S s r c C s� t | � }|�| � |�d� |�|� |�d� |rv|rv|�|� |�d� |�|� |�d� |�|� |�d� |�|� t|�� �}|S )a� Compute the digest for the given parameters. @param HA1: The H(A1) value, as computed by L{calcHA1}. @param HA2: The H(A2) value, as computed by L{calcHA2}. @param pszNonce: The challenge nonce. @param pszNonceCount: The (client) nonce count value for this response. @param pszCNonce: The client nonce. @param pszQop: The Quality-of-Protection value. r r ) r ZHA2r r Z pszNonceCountr r r ZrespHashr r r �calcResponsek s r )N) �__doc__Z __future__r r Zbinasciir Zhashlibr r r r r r r r r r �<module> s � � /