35 @param iterations number of times hash function should be applied (integer) |
35 @param iterations number of times hash function should be applied (integer) |
36 @param digestMod hash function |
36 @param digestMod hash function |
37 @return hashed password (bytes) |
37 @return hashed password (bytes) |
38 """ |
38 """ |
39 pwHash = password |
39 pwHash = password |
40 for i in range(iterations): |
40 for _ in range(iterations): |
41 pwHash = hmac.new(salt, pwHash, digestMod).digest() |
41 pwHash = hmac.new(salt, pwHash, digestMod).digest() |
42 return pwHash |
42 return pwHash |
43 |
43 |
44 |
44 |
45 def hashPasswordTuple(password, digestMod=hashlib.sha512, iterations=10000, |
45 def hashPasswordTuple(password, digestMod=hashlib.sha512, iterations=10000, |