Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. COIt seems a little crazy that an attacker would generate dictionaries that assume salts of hash(username), especially (a) given the variety of hash functions and block sizes in the wild, and (b) the fact that an attacker wouldn't be able to infer the hash used to generate the salt from the salted password they have available to them.
      singulars
    2. CO@Chas: Read enough advisories, you will probably see people fall down with this by making a small app, turning it into a high profile app, and they don't re-check their assumptions. But you're right in that there's a point where if you're a big enough target, they'll find a cheaper attack than this. Like the phishing. The good news is that it's not very hard to make authentication not be your tall tent pole. Use salts (plural), use cryptographic hashes, and use SSL for login pages (salted password files are particularly sensitive to Man in the Middle attacks. *cue Rook to detail how*)
      singulars
    3. CO@Jason: Yup, we hit all three (our entire site shall be run over SSL). I've now long since just tossed in large, random, per-user, regenerated-on-each-pw-change salts (co-located with the passwords, sorry Rook ;-), as it's easy enough, and I don't mind being a little more paranoid to match up with what is considered best practices. Unfortunately, it doesn't look like I'm going to find clarity w.r.t. the original question. Thanks for the tips otherwise, tho. :-)
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload