I understand that bcrypt is more secure than other methods but still puts you the same situation where you need to salt passwords! If the salt is included in the hash string it's not needed to store it separately in the DB. Everytime I need to create a new hash, meaning a new salt as well, do I have to get all the passwords, extract the salts and check the new one doesn't exist already against my DB passwords? Wouldn't be easier to store directly the salts separately for easy compare? If yes then I don't get:
- the point of storing the salt in plain text
- why bcrypt is more secure than manually use sha256 with salted passwords