0 :ˆl–ß=¿JJj"Tâ‚ ÆÃq–”ţ ƒh¹Áa–ß=¿JJj"Tâ‚fàœ¸!)‹FÿÀ1 $ˆl–ßi~”jj"T%õÆY¸Ó*bÑ¿Ä „ ͉ŸÃ¿Á?÷a fŸWcmsã@s.dZddlmZddlZe e¡ZddlZddlZddl m Z ddl m Z m Z ddlmZmZmZddlmZmZddlmZmZdd lmZGd d „d eƒZe d ¡Ze d ¡Ze d¡ZGdd„de d¡ƒZe d¡Z Gdd„deƒZ!e! d ¡Z"e! d ¡Z#e! d¡Z$Gdd„de! d¡ƒZ%e! d¡Z&dS)z?passlib.tests.test_handlers - tests for passlib hash algorithmsé)Úwith_statementN©Úhash)ÚIDENT_2ÚIDENT_2X)Ú repeat_stringÚto_bytesÚis_safe_crypt_input)ÚirangeÚPY3)Ú HandlerCaseÚ TEST_MODE)Ú UPASS_TABLEcs¨eZdZdZejZdZdZddddddd d d d d dddddddddd…dfddd…dfddd…dfddd…dfddddd e d!fe d"fgZ e d#ƒ�rd$Z d%Z e  d&e d'fd&e d'fd(e d)fd(e d*fd+e d)fd+e d,fd-e d)fd-e d)fd.e d)fd.e d)fg ¡d/e d0fgZd1d2gZgd3¢Zgd4¢Z‡fd5d6„Z‡fd7d8„Zd9d:„Zejd;Zdd?„Zd@dA„ZGdBdC„dCejƒZgdD¢ZdEdF„ZdGdH„Z‡ZS)IÚ _bcrypt_testzbase for BCrypt test casesT)zU*U*U*U*z<$2a$05$c92SVSfjeiCD6F2nAD6y0uBpJDjdRkt0EgeC4/31Rf2LUZbDRDE.O)zU*U***Uz<$2a$05$WY62Xk2TXZ7EvVDQ5fmjNu7b0GEzSzUXUh2cllxJwhtOeMtWV3Ujq)zU*U***U*z<$2a$05$Fa0iKV3E2SYVUlMknirWU.CFYGvJ67UwVKI1E2FP6XeLiZGcH3MJi)z*U*U*U*Uz<$2a$05$.WRrXibc1zPgIdRXYfv.4uu6TD1KWf0VnHzq/0imhUhuxSxCyeBs2)Úz<$2a$05$Otz9agnajgrAe0.kFVF9V.tzaStZ2s1s4ZWi/LY4sw2k/MTVFj/IO)zU*Uz<$2a$05$CCCCCCCCCCCCCCCCCCCCC.E5YPO9kmyuRGyh0XouQYb4YMJKvyOeW)zU*U*z<$2a$05$CCCCCCCCCCCCCCCCCCCCC.VGOzA784oUp/Z0DY336zx7pLYAy0lwK)zU*U*Uz<$2a$05$XXXXXXXXXXXXXXXXXXXXXOAcXxm9kjPGEMsLznoKqmqw7tc8WCx4a)rz<$2a$05$CCCCCCCCCCCCCCCCCCCCC.7uG0VCzI2bS7j6ymqJi9CdcdxiRTWNy)zb0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789chars after 72 are ignoredz<$2a$05$abcdefghijklmnopqrstuu5s2v8.iXieOjg/.AySBTTZIIVFJeBui)ó£z<$2a$05$/OK.fbVrR/bpIqNJ5ianF.Sa7shbm4.OzKpvFnX1pQLmQW96oUlCq)sÿ£345z<$2a$05$/OK.fbVrR/bpIqNJ5ianF.nRht2l/HRhr6zmCp9vYUvvsqynflf9e)s£abz<$2a$05$/OK.fbVrR/bpIqNJ5ianF.6IflQkJytoRVc1yuaNtHfiuq.FRlSIS)skªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªchars after 72 are ignored as usualz<$2a$05$/OK.fbVrR/bpIqNJ5ianF.swQOIzjOiJ9GHEPuhEkvqrUyvWhEMx6)sHªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUªUz<$2a$05$/OK.fbVrR/bpIqNJ5ianF.R9xrDjiycxMbQE2bp.vgqlYpW5wx2yy)sHUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿUªÿz<$2a$05$/OK.fbVrR/bpIqNJ5ianF.9tQZzcJfm3uj2NvJ/n5xkhpqLrMpWCe)rz<$2y$05$/OK.fbVrR/bpIqNJ5ianF.Sa7shbm4.OzKpvFnX1pQLmQW96oUlCq)sÑ‘z<$2y$05$6bNw2HLQYeqHYyBfLMsv/OUcZd0LKP39b87nBw3.S2tVZSqiQX6euA01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789Néþz<$2a$04$R1lJ2gkNaoPGdafE.H.16.1MKHPvmKwryeulRe225LKProWYwt9Oiéÿéi)rz<$2a$06$DCq7YPn5Rq63x1Lad4cll.TV4S6ytwfsfvkgY8jIucDrjc8deX1s.)Úaz<$2a$10$k87L/MF28Q673VKh8/cPi.SUl7MU/rWuSiIDDFayrKk/1tBsSQu4u)Úabcz<$2a$10$WvvTPHKwdBJ3uk0Z37EMR.hLA2W6N9AEBhEgrAOljy2Ae5MtaSIUi)Zabcdefghijklmnopqrstuvwxyzz<$2a$10$fVH8e28OQRj9tqiDXs1e1uxpsjN0c7II7YPKXua2NAKYvM6iQk7dq)z"~!@#$%^&*() ~!@#$%^&*()PNBFRDz<$2a$10$LgfYWkbzEvQ4JakH7rOvHe0y8pHKF9OaFgwUZ2q7W2FFZmZzJYlfSz<$2a$05$Z17AXnnlpzddNUvnC6cZNOSwMA/8oNiKnHTHTwLlBijfucQQlHjaGz<$2b$05$Z17AXnnlpzddNUvnC6cZNOSwMA/8oNiKnHTHTwLlBijfucQQlHjaGÚfullz$2$05$......................z$2a$05$......................rZJ2ihDv8vVf7QZ9BsaRrKyqs2tkn55YqrzXuQjdH.wPVNUZ/bOfstdW/FqB8QSjteZev6gDwpVye3oMCUpLY85aTpfBNHD0GaZEabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcz2kIdfSj/4/R/Q6n847VTvc68BXiRYZCZHabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcZIabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc