I'm running flask_security which uses passlib.
When I create a user and encrypt it's password it takes about 2 seconds.
Running a profiler revealed that _raw_sha2_crypt takes 1.89 seconds to run
self run is 0.52 seconds
and is calling 656006 times to hashlib digest
Am I doing something wrong? Isn't it too much?
Thanks
Profiler output:
Ordered by: cumulative time
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 1.891 1.891 /Users/boazackerman/sentinel-cloud/.env/lib/python2.7/site-packages/flask_security/utils.py:143(encrypt_password)
1 0.000 0.000 1.891 1.891 /Users/boazackerman/sentinel-cloud/.env/lib/python2.7/site-packages/passlib/context.py:2458(encrypt)
1 0.000 0.000 1.891 1.891 /Users/boazackerman/sentinel-cloud/.env/lib/python2.7/site-packages/passlib/utils/handlers.py:554(encrypt)
1 0.000 0.000 1.891 1.891 /Users/boazackerman/sentinel-cloud/.env/lib/python2.7/site-packages/passlib/utils/handlers.py:1463(_calc_checksum)
1 0.000 0.000 1.891 1.891 /Users/boazackerman/sentinel-cloud/.env/lib/python2.7/site-packages/passlib/utils/handlers.py:1450(_calc_checksum_backend)
1 0.000 0.000 1.891 1.891 /Users/boazackerman/sentinel-cloud/.env/lib/python2.7/site-packages/passlib/handlers/sha2_crypt.py:342(_calc_checksum_builtin)
1 0.520 0.520 1.891 1.891 /Users/boazackerman/sentinel-cloud/.env/lib/python2.7/site-packages/passlib/handlers/sha2_crypt.py:56(_raw_sha2_crypt)
656006 0.704 0.000 0.704 0.000 {_hashlib.openssl_sha512}
656006 0.666 0.000 0.666 0.000 {method 'digest' of '_hashlib.HASH' objects}