Make bcrypt + passlib work in password_hash filter
If hashtype for the password_hash filter is 'blowfish' and passlib is
available, hashing fails as the hash function for this is named 'bcrypt'
(and not 'blowfish_crypt'). Special case this so that the correct
function is called.
(cherry picked from commit 692bfa872a
)
This commit is contained in:
parent
84485c29ee
commit
92c851a894
1 changed files with 5 additions and 1 deletions
|
@ -257,7 +257,11 @@ def get_encrypted_password(password, hashtype='sha512', salt=None):
|
|||
saltstring = "$%s$%s" % (cryptmethod[hashtype],salt)
|
||||
encrypted = crypt.crypt(password, saltstring)
|
||||
else:
|
||||
cls = getattr(passlib.hash, '%s_crypt' % hashtype)
|
||||
if hashtype == 'blowfish':
|
||||
cls = passlib.hash.bcrypt;
|
||||
else:
|
||||
cls = getattr(passlib.hash, '%s_crypt' % hashtype)
|
||||
|
||||
encrypted = cls.encrypt(password, salt=salt)
|
||||
|
||||
return encrypted
|
||||
|
|
Loading…
Reference in a new issue