import hashlib,binascii,os import database rounds = 100000 algorithm = 'sha1' def authenticate(user,password): uid = database.get_user_id(user) hexsalt,hexhash = database.get_user_cred(uid) salt = binascii.unhexlify(hexsalt) dk = hashlib.pbkdf2_hmac(algorithm, password, salt, rounds) hexdk = binascii.hexlify(dk) if hexdk == hexhash: return uid return False def myhash(obj): salt = os.urandom(16) hexsalt = binascii.hexlify(salt) dk = hashlib.pbkdf2_hmac(algorithm, obj, salt, rounds) hexdk = binascii.hexlify(dk) return hexsalt, hexdk