관리-도구
편집 파일: test_crypto_digest.cpython-39.pyc
a f�Wc�O � @ s� d Z ddlmZmZ ddlmZ ddlZddlZddlm Z ddl mZmZm Z ddlmZmZmZmZ G dd � d e�ZG d d� de�ZddlmZmZ G d d� de�ZdS )z(tests for passlib.utils.(des|pbkdf2|md4)� )�with_statement�division)�hexlifyN)�UnknownHashError)�PY3�u�JYTHON)�TestCase� TEST_MODE� skipUnless�hbc @ sT e Zd ZdZdZddgZg d�Zdd� Zdd � Zd d� Z dd � Z dd� Zdd� ZdS )�HashInfoTestztest various crypto functionszpasslib.crypto.digest�hashlibZiana))�md5r zSCRAM-MD5-PLUSzMD-5)�sha1zsha-1zSCRAM-SHA-1ZSHA1)�sha256�sha-256ZSHA_256zsha2-256)Z ripemd160z ripemd-160zSCRAM-RIPEMD-160Z RIPEmd160ZripemdzSCRAM-RIPEMD)Zsha4_256zsha4-256zSHA4-256z SHA-4-256)Ztest128ztest-128ZTEST128)�test2r zTEST-2)Z test3_128z test3-128z TEST-3-128c C s� ddl m} ddlm}m} t�� }|�� | �|j � t� dd� t� dd� | �|td��d� | �|d �d� | � t|d � ||| j�D ]J}t| j�D ]:\}}|| }|D ]$} || |�} | �| |d| |f � q�q�q�d S )znorm_hash_name()r )�chain)�norm_hash_name�_known_hash_names�ignorez.*unknown hashz.*unsupported hashZMD4�md4s MD4Nzname=%r, format=%r:)� itertoolsr �passlib.crypto.digestr r �warnings�catch_warnings� __enter__� addCleanup�__exit__�filterwarnings�assertEqualr �assertRaises� TypeError�norm_hash_samples� enumerate�norm_hash_formats)�selfr r r �ctx�row�idx�format�correct�value�result� r/ �D/usr/lib/python3.9/site-packages/passlib/tests/test_crypto_digest.py�test_norm_hash_name. s( ��z HashInfoTest.test_norm_hash_namec C s` ddl m} | �t|d� | �t|d� | �t|d� | �|d�tjddf� zt�d � d }W n tyv d}Y n0 |r�|d �}|d }| �||ddf� | �t|d �� � �d� n| �t|d � zt�d� d }W n ty� d}Y n0 |d�}|d }|�sddl m} | �||� | �||ddf� | �t|d �� � �d� | �|d�|d�� dS )zlookup_hash() -- constructorr ��lookup_hash�new�__name__Zsha4r � �@ ZshaTF� s abcs( 0164b8a914cd2a5e74c4f7ff082c4d97f1edf880r )r s a448017aaf21d8525fc10ae87aa6729dN) r r3 r"