We are developing a mobile app that includes a user account system. Currently, we have a system password flow like this:
User enters password -> SHA-256 HMAC hash with key -> server -> SHA-256 hash -> database
I have 3 questions:
- Is this secure enough for release?
- Would it be secure to store the client-side password hash to save the login?
- If #2 is a no, would it be better to encrypt the hash using AES-256 and then store it?