Earlier quoted context omitted.
Eh, why not just bcrypt the SHA1/MD5 hashes? Your auth check will just become bcrypt(SHA1(pass)) rather than bcrypt(pass). You can convert all passwords right away and I don't see any significant downside to it.
I like this idea for sites that e.g. use Microsoft ASP.NET Membership where all you can do is set a machineKey attribute about what kind of password hashing to use, and don't support any "old hash vs. new hash" alternatives for changing. Anyone know of an implementation that would do this and "drop in" to an existing ASP.NET site? Or pointers to how to approach developing this?
Md5crypt is no longer strong enough
121–130 of 144 posts
Re: Md5crypt is no longer strong enough
#122Earlier quoted context omitted.
You don't know what you're talking about.
Please elaborate for those of us who are not experts on cryptography.
Re: Md5crypt is no longer strong enough
#123Earlier quoted context omitted.
[deleted] This comment was factually incorrect and only served to cloud the issue. The link given in one of the responses provides more than enough information for a developer to understand the options available for password storage. Apologies for the noise.
bcrypt in and of itself already uses multiple runs to make it expensive in terms of CPU time to reproduce a given password. Moreover, salts are precisely designed to help against rainbow table attacks by making it infeasible to create rainbow tables including the large number of salts that you tag onto the end of a given password. bcrypt includes a salt as part of its core. So no, if your scheme is “simply” bcrypt(pa…
Thank you for clarifying!
Re: Md5crypt is no longer strong enough
#124Re: Md5crypt is no longer strong enough
#125Earlier quoted context omitted.
It's pretty easy to migrate users from one hashing algorithm to another when they next log in: if( user has an old style hash ){ if( password verifies against old style hash ){ add a new style hash delete the old style hash log them in } } else { if( password verifies against new style hash ){ log them in } }
Eh, why not just bcrypt the SHA1/MD5 hashes? Your auth check will just become bcrypt(SHA1(pass)) rather than bcrypt(pass). You can convert all passwords right away and I don't see any significant downside to it.
1. bcrypt(SHA1(pass)) right now to secure all pws
2. check against that, then update to bcrypt(pass) on loginRe: Md5crypt is no longer strong enough
#126Earlier quoted context omitted.
I like this idea for sites that e.g. use Microsoft ASP.NET Membership where all you can do is set a machineKey attribute about what kind of password hashing to use, and don't support any "old hash vs. new hash" alternatives for changing. Anyone know of an implementation that would do this and "drop in" to an existing ASP.NET site? Or pointers to how to approach developing this?
Don't use ASP.NET membership? I can't get over how much effort they put into MVC ASP.NET and they still carry that cludgy mess around.
Re: Md5crypt is no longer strong enough
#127>All major internet sites, anybody with more than 50.000 passwords, should design or configure a unique algorithm for their site He probably means to use some combination of well known/tested algorithms rather than inventing your own crypto, but I think his wording is ambiguous enough to be dangerous. While there is some benefit to using a unique algorithm for your site, it's almost certainly more risky than using a…
Isn't salting a canonical way to vary the output for the same input, thus reducing feasibility of precomputed attacks like rainbow tables? What are the benefits of some extra mangling, besides security through obscurity?
Re: Md5crypt is no longer strong enough
#128Earlier quoted context omitted.
Don't use ASP.NET membership? I can't get over how much effort they put into MVC ASP.NET and they still carry that cludgy mess around.
Sometimes you have to deal with what you are given.
I'm sure there is a way to improve it, but I don't know how, sorry!
Re: Md5crypt is no longer strong enough
#129Earlier quoted context omitted.
It's still sent in plain text. Your browser doesn't do any hashing before sending your password to Google. But you're right, as far as anybody but you and Google are concerned, it's encrypted.
There's no point in hashing the password before you send it, is there? A MITM could just as easily grab the hash and send it to Google instead.
Edit: never mind the last parenthetical; it pretty much wouldn't help in a database leak at all (just adds one extra hashing step to the cracking process), sorry. Still helps for non-HTTPS logins though.
Edit 2: ... though maybe if the client-side hash were something strong like bcrypt, it would help in the case of database leaks on HTTPS sites that refuse to use strong hashing on the server side for performance reasons. Sorry for the rambly disorganized post.
Re: Md5crypt is no longer strong enough
#130Earlier quoted context omitted.
It's still sent in plain text. Your browser doesn't do any hashing before sending your password to Google. But you're right, as far as anybody but you and Google are concerned, it's encrypted.
There's no point in hashing the password before you send it, is there? A MITM could just as easily grab the hash and send it to Google instead.