Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python Build a Social Network with Flask Making Strong Users Bcryptkeeper

Hashed password validation function not working.

The documentation has a similar function provided:

def check_password(self, password): return check_password_hash(self.pw_hash, password)

utils.py
from flask.ext.bcrypt import generate_password_hash, check_password_hash

def set_password(user, pwd):
    hashed_password = generate_password_hash(pwd)
    user.password = hashed_password
    return user

def validate_password(user, pwd):
    hashed_password = generate_password_hash(pwd)
    return check_password_hash(hashed_password, user.password)

1 Answer

Hi Rastko

In the validate_password function you don't need to hash the supplied password again. Just use the function check_password_hash which will return a Boolean. See below

from flask.ext.bcrypt import generate_password_hash,check_password_hash

def set_password(User,pwd):
    User.password = generate_password_hash(pwd)
    return User

def validate_password(User,pwd):
    return check_password_hash(User.password,pwd)