
Originally Posted by
djr33
There are bigger concerns with a site/security, right?
Of course. SSL being the main one; everything you do is useless is it's being sent over HTTP in plain text.
Also using tokens to identify your forms, and rate-limiting login attempts.

Originally Posted by
djr33
2. I don't mean you'd only use site-wide salt. Maybe it's overkill to have both. User-specific salt is useful. But having site-wide salt would accomplish the necessary security of making lookup tables irrelevant.
Actually, I don't think it's overkill. I'm working on a class right now that will use two salts: one that can be determined client-side (though not the same one for everyone, it will be based on the input), and a stronger one that will be stored in the DB. This way, I'll be able to hash it "halfway," send it to the DB, and have the hash completed there. It saves a round-trip (I don't need to query the DB to get the salt).

Originally Posted by
djr33
There's also the security of them not knowing your algorithm, assuming your site is secure in the first place.
Hashing really accomplishes two different goals:
1) it should be impossible to produce a plain-text version of the password, either deliberately or by any sort of injection attack/ social hacking/ other trickery. For this purpose, strength is not as critical.
2) it should be difficult (hopefully "difficult enough" to be considered impractical) to crack the hashes if they are stolen or leaked. That's where a strong algorithm/process is needed.
...and don't just figure "you're not a target." james, I'm sure, knows that that's simply not true of anyone. Beyond that, consider the fact that most people use the same password for everything. That's not your fault, of course, and you can't be expected to be responsible for it, but you've probably got someone's bank or email password in there.

Originally Posted by
james438
if it is only or mostly about a delay against brute force attacks it sounds like it would be much less processor heavy if I add a wait command.
no; it's processor-time we're talking about, here. Most brute force password cracking efforts take place on stolen hashes, not on your live site - so it's just a matter of not executing the wait, whereas extra processing can't be skipped.
Edit: fastol, I'm reading that now.
Bookmarks