U
    ø¹Öh\  ã                   @   sˆ   d Z ddlZe e¡ZddlZe dd¡ ddlmZ ddl	m
Z
mZ ddlmZmZ G dd	„ d	e
ƒZe d
¡Ze d¡Ze d¡ZdS )z?passlib.tests.test_handlers - tests for passlib hash algorithmsé    NÚignoreú .*using builtin scrypt backend.*)Úhash)ÚHandlerCaseÚ	TEST_MODE)ÚUPASS_TABLEÚPASS_TABLE_UTF8c                       s|   e Zd ZejZddddedfedfdgZe	dƒr>e 
dd	g¡ d
dddgZ‡ fdd„Z‡ fdd„ZG dd„ dejƒZ‡  ZS )Ú_scrypt_test)Ú zA$scrypt$ln=4,r=1,p=1$$d9ZXYjhleyA7GcpCwYoEl/FrSETjB0ro39/6P+3iFEI)ÚpasswordzI$scrypt$ln=10,r=8,p=16$TmFDbA$/bq+HJ00cgB4VucZDQHp/nxq18vII3gw53N2Y0s3MWI)ZtestzW$scrypt$ln=8,r=8,p=1$wlhLyXmP8b53bm1NKYVQqg$mTpvG8lzuuDk+DWz8HZIB6Vum6erDuUm0As5yU+VxWA)r   zW$scrypt$ln=8,r=2,p=1$dO6d0xoDoLT2PofQGoNQag$g/Wf2A0vhHhaJM+addK61QPBthSmYB6uVTtQzh8CM3ozW$scrypt$ln=7,r=8,p=1$jjGmtDamdA4BQAjBeA9BSA$OiWRHhQtpDx7M/793x6UXK14AD512jg/qNm/hkWZG4M)ZnaclzW$scrypt$ln=1,r=4,p=2$yhnD+J+Tci4lZCwFgHCuVQ$fAsEWmxSHuC0cHKMwKVFPzrQukgvK09Sj+NueTSxKdsZfull)ÚpleaseletmeinzU$scrypt$ln=14,r=8,p=1$U29kaXVtQ2hsb3JpZGU$cCO9yzr9c0hGHAbNgf046/2o+7qQT44+qbVD9lRdofI)r   zH$7$C6..../....SodiumChloride$kBGj9fHznVYFQMEn/qDCfrDevf9YDtcDdKvEqHJLV8DzT$scrypt$ln=10,r=1$wvif8/4fg1Cq9V7L2dv73w$bJcLia1lyfQ1X2x0xflehwVXPzWIUQWWdnlGwfVzBeQzW$scrypt$ln=0,r=1,p=1$wvif8/4fg1Cq9V7L2dv73w$bJcLia1lyfQ1X2x0xflehwVXPzWIUQWWdnlGwfVzBeQzX$scrypt$ln=10,r=A,p=1$wvif8/4fg1Cq9V7L2dv73w$bJcLia1lyfQ1X2x0xflehwVXPzWIUQWWdnlGwfVzBeQz`$scrypt$ln=10,r=134217728,p=8$wvif8/4fg1Cq9V7L2dv73w$bJcLia1lyfQ1X2x0xflehwVXPzWIUQWWdnlGwfVzBeQc                    s   t t| ƒ ¡  t dd¡ d S )Nr   r   )Úsuperr	   ÚsetUpWarningsÚwarningsÚfilterwarnings©Úself©Ú	__class__© úH./venv/lib/python3.8/site-packages/passlib/tests/test_handlers_scrypt.pyr   X   s    z_scrypt_test.setUpWarningsc                    s*   | j dkr| dd¡ tt| ƒ |¡ d S )NÚbuiltinÚroundsé   )ZbackendÚ
setdefaultr   r	   Úpopulate_settings)r   Úkwdsr   r   r   r   \   s    
z_scrypt_test.populate_settingsc                   @   s   e Zd Zdd„ ZdS )z_scrypt_test.FuzzHashGeneratorc                 C   s   |   dddd¡S )Né   é
   r   é   )Zrandintgaussr   r   r   r   Úrandom_roundsd   s    z,_scrypt_test.FuzzHashGenerator.random_roundsN)Ú__name__Ú
__module__Ú__qualname__r    r   r   r   r   ÚFuzzHashGeneratorb   s   r$   )r!   r"   r#   r   ÚscryptZhandlerr   r   Zknown_correct_hashesr   ÚextendZknown_malformed_hashesr   r   r   r$   Ú__classcell__r   r   r   r   r	      s,   
â!ôõr	   Zstdlibr%   r   )Ú__doc__ZloggingZ	getLoggerr!   Úlogr   r   Zpasslibr   Zpasslib.tests.utilsr   r   Zpasslib.tests.test_handlersr   r   r	   Zcreate_backend_caseZscrypt_stdlib_testZscrypt_scrypt_testZscrypt_builtin_testr   r   r   r   Ú<module>   s    
V

