I am trying to validate an encrypted password for login
purposes in Pyramid. So that if the user and password match then the system will authorize the user. At
The code below is NOT a SECURE and SAFE way to store/verify user passwords. Please use a library that provides secure password storage, such as passlib which is specifically designed to securely store passwords.
You hash the user's password in your User.__init__
using self.password = hashlib.sha224(password).hexdigest()
. Just use a similar method to validate it:
class User(Base):
# Your existing code unchanged
def validate_password(self, password):
return self.password == hashlib.sha224(password).hexdigest()
And use it in your view:
user = api.retrieve_user(login)
if user is not None and user.validate_password(password):
# You logic on success