Open maria-farooq opened 8 years ago
Check also for accounts password. We shouldn't be using MD5 either but at least SHA 512 or better something encrypted. SHA-512 isn't designed to be hard to brute-force. Better hashing algorithms like BCrypt, PBKDF2 or SCrypt should be used
@deruelle , @maria-farooq , agreed for strong hashing. We could also introduce some sort of salting (include a client fixed property in the the hash generation) so that it's not easy to reach any conclusions by comparing two clients with the same (hashed) password.
Also, i'm wondering whether it makes sense to return the client password when retrieving the Client and it seems to me it doesn't. If the knowledge of the hash doesn't really provide access, there is not much to do with it.
On the contrary, if the hashed value can be used as it is to directly access the platform, it seems this is no more secure than dumping this hashing thing altogether and using plaintext both in storage and credentials data.
The idea of storing password in hashed version aims to minimize the breach if the stored passwords are revealed. If they were stored in plaintext, a hacker that could somehow get access to them could then use them to access the platform.
Thoughts ?
@otsakir
This way we avoid storing clear text
Save client security code in encrypted/encoded form