Suppose one wishesplans to implement an account systemauthentication for their service/websiteweb app.
There have been cases, like with Instagram for example, where passwords were accidentally stored in plain text due to accidentally logging themlogs.
While Iwe'd hope never to never make thethis mistake, iswe're thinking it viablemight be best to do an unsalted SHA512 hash on the front endclient-side, and senduse that as the effective password to hash again with bcrypt on the back end insteadserver-side? Should the same or
This way, if a similar mistake everwere to be made, at the very least it's not a plain-text password as the realuser's original plain text password waswould never even sentleave their machine. As a result, it can't be stored in the first placeour systems.
This assumes that on server-side, but the back end willwe still use bcrypt to salt, and hash the password, and store the effective password securely?.
While I understand an unsalted hash isn't particular strong, ifThe motivation is that in the scenario ofthat a mis-configuration which does somehow log or by any other means store the unhashed passwordmisconfiguration occurs, at least aan unsalted SHA512 hashed passwordstring is stored rather than ainstead of the user's original plain-text text password?
For example:
- User inputs password on front end.
- SHA512
- Send to Server-Side
- bcrypt
- Store result in database
(Assume HTTPS. This is configured for web serverstill bad, and SSL is configured on MySQL.)but in theory, less so?
Is this a viable setup, or done by anyone? Is there anything wrong withand are the justificationexamples of services doing this?