
    Mh	                        d dl mZ d dlZd dlZd dlZddlmZmZmZm	Z	m
Z
mZ dd	Zed
k    r eej                   dS dS )    )annotationsN   )DEFAULT_HASH_LENGTHDEFAULT_MEMORY_COSTDEFAULT_PARALLELISMDEFAULT_TIME_COSTPasswordHasherprofilesargv	list[str]returnNonec                   t          j        dt           j                  }|                    dt          dd           |                    dt          dt
          	           |                    d
t          dt          	           |                    dt          dt          	           |                    dt          dt          	           |                    dt          dd 	           |
                    | dd                    }d}|j        r?t          j        t          t          |j                                                            }n't          |j        |j        |j        |j                  }|                    |          }t-          d|j         d           d|j        dfd|j        dfd|j        dfd|j        dffD ]\  }}}t-          | d| d |            t-          d!           t9          j        d"|d#|d$d%|j        d&|j        d'|j        d(|j        d)	|j        *          }	t-          d+|	|j        z  d,z  d-d.           d S )/NzBenchmark Argon2.)descriptionformatter_classz-nd   z Number of iterations to measure.)typedefaulthelpz-tz`time_cost`)r   r   r   z-mz`memory_cost`z-pz`parallelism`z-lz`hash_length`z	--profilez2A profile from `argon2.profiles. Takes precedence.r   s   secret)	time_costmemory_costparallelismhash_lenzRunning Argon2id z times with:r   bytesr   KiBr   threadsr   
iterationsz:  z
Measuring...z
ph.verify(z, )zFfrom argon2 import PasswordHasher

ph = PasswordHasher(
    time_cost=z,
    memory_cost=z,
    parallelism=z,
    hash_len=z,
)
gc.enable())setupnumber
i  z.1fzms per password verification)argparseArgumentParserArgumentDefaultsHelpFormatteradd_argumentintr   r   r   r   str
parse_argsprofiler	   from_parametersgetattrr
   uppertmplhashprintnr   r   r   r   timeit)
r   parserargspasswordphr2   namevalueunitsdurations
             O/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/argon2/__main__.pymainr?      s   $' >  F 3*L     3]4E     3_6I     3_6I     3_6I     A	     T!""X&&DH| 

+Hdl002233
 
 fV	
 
 
 778D	
2df
2
2
2333 
R['*	.		2	blL1	 * *eU 	(((((())))	
},T,,x,,,	 v		 	
 	 	 	 	 f	 	 	 v  H 

Ix$& 4'
I
I
I
IJJJJJ    __main__)r   r   r   r   )
__future__r   r#   sysr5    r   r   r   r   r	   r
   r?   __name__r    r@   r>   <module>rG      s    # " " " " "  



                DK DK DK DKN zDNNNNN r@   