What exactly is stored in a database when we use bcrypt to hash passwords? Is the primary purpose of a salt to defend against attacks that use precomputed tables? still a bit confused about salt Could you please explain in a little more detail how hashpw() works? It takes encoded password and encoded salt value for account creation but it takes encoded password and encoded hash value for login or checking. I am wondering how it produces a 60 character long hashed value either way although the second argument is different. How does the hashing algorithm bcrypt work and salt generation? Can we review the inserting into the database example? I'm a bit confused about the Weasley twins example. If they are making the account at the same time, why does it matter that it gets confused about who can insert because in the end only one of them will be able to have the username regardless? Can you show the different formatting of how entering a password appears on a website? Eg. In the terminal when we enter our passwords they don't appear (even though they're being typed in) for security, in other websites I've seen each letter appear before they get turned into a symbol for security purposes How is two factor authentication coded into web applications?