Slashdot Mirror


Using Google To Crack MD5 Passwords

stern writes "A security researcher at Cambridge was trying to figure out the password used by somebody who had hacked his Web site. He tried running a dictionary through the encryption hash function; no dice. Then he pasted the hacker's encrypted password into Google, and voila — there was his answer. Conclusion? Use no password that any other human being has ever used, or is ever likely to use, for any purpose. I think."

66 of 232 comments (clear)

  1. Salt by porneL · · Score: 5, Informative

    No, the conclusion is you should always use salted hashes.

    1. Re:Salt by eln · · Score: 4, Funny

      I agree. Also, fry them in bacon fat and add pepper.

    2. Re:Salt by Anonymous Coward · · Score: 4, Interesting

      No, the conclusion is you should always use salted hashes. I agree, but this isn't something the user can do. I can't register for a site and say, "I need to remember to use salt!" The site has to implement it and implement it correctly.

      The guy posting was posting from the perspective of the user, not the author of the system. The conclusion from the summary is still accurate since you can't make the assumption that salt is always used. The next best defense is a crazy fucking password.
    3. Re:Salt by eldavojohn · · Score: 5, Funny

      And blackjack ... and hookers. In fact, forget the hashes!

      --
      My work here is dung.
    4. Re:Salt by SevenDigitUID · · Score: 4, Funny

      That's not true. The user can generate a string with something like dd if=/dev/urandom bs=21 count=1|openssl base64 , store that string, and append it the the true password each time the log in. This has exactly the same results as the site correctly implementing salting. So what you are saying is the best defense is to use a crazy fucking password?
    5. Re:Salt by Anonymous+brave+dude · · Score: 3, Insightful

      Use a crazy fucking password, but you don't have to remember all of it.

    6. Re:Salt by Em+Adespoton · · Score: 4, Insightful

      agree, but this isn't something the user can do. I can't register for a site and say, "I need to remember to use salt!" The site has to implement it and implement it correctly.

      The guy posting was posting from the perspective of the user, not the author of the system. The conclusion from the summary is still accurate since you can't make the assumption that salt is always used. The next best defense is a crazy fucking password.


      This is why my passwords are themselves salted hashes. The likelihood of someone else using my passwords is the same as a regular hash collision, I get to use a separate password for each place one is required, and the hashing mechanism and salt are simple enough for me to keep in my head. End result: infinite number of easily generatable and retrievable passwords that look just like a hashed password when decoded.
    7. Re:Salt by Sangui5 · · Score: 4, Insightful

      Rainbow tables? Salting breaks it.
      Precomupted dictionaries? Salting breaks it.
      Brute force and compare against the whole pw list? Salting breaks it.

      Salting is your friend. Long salts don't cost much, but make many attacks completely infeasible. Unix has been using salted passwords since forever. Yet nthash *still* doesn't include a salt.

    8. Re:Salt by networkBoy · · Score: 3, Informative

      Not entirely.
      That adds a "local salt" but... courtesy of possible hash collisions there is another password that may work equally well.
      by having the login function add the salt a straight rainbow lookup is defeated (unless you pre-computed a rainbow with the salt). As admin he could still enter the salted MD5, find a suitable password without salt, disable salting, get in enable salting, change the password. BUT a "normal" hacker without access to the DB tools and salting function of the app, but in possession of the hash table (and even the salt to some extent) would be defeated. if the attacker had the salt and hash table then with enough time the will break you login through rainbow tables, but not before.
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    9. Re:Salt by repvik · · Score: 2, Insightful

      If you don't have to remember part of it, why not make the whole password fucking crazy? Since you already have to cut'n'paste, why have a part of the password be easier than another?

    10. Re:Salt by Anonymous Coward · · Score: 5, Funny

      Ice building up on your sidewalk? Salting breaks it.

    11. Re:Salt by AKAImBatman · · Score: 3, Informative

      Better solution:

      http://passwordmaker.sourceforge.net/passwordmaker.html

      One password for all sites, but a unqiue, "fscking crazy" password for all of them. You're welcome.

    12. Re:Salt by Jarjarthejedi · · Score: 4, Funny

      Pretzels missing that unique flail? Salting solves it!
      Need something else to put on those fries? Salt it!
      Need to make your friend's drink taste awful? Salt is the way to go.

      (Somewhere along the line we left the analogy department :P)

      --
      There are two kinds of fool One says 'This is old therefore good' Another says 'This is new therefore better'- Dean Ing
    13. Re:Salt by Garridan · · Score: 4, Informative

      Because if somebody gets that file, they've got your password. This way, they'll have to hack your brain, as well as your computer, to get at your password.

    14. Re:Salt by nighty5 · · Score: 2, Interesting

      You're implying that salting on UNIX makes attacking the hash infeasible, this is simply not true.

      There are only 4096 different combinations in the salting algorithm in crypt() will use which a brute forcer can easily iterate. [regardless of encryption technique md5 or des]

      Salting a known algorithm is almost pointless because as I just described salted passwords can be just as easily defeated if you know the mechanism, this is why NT doesn't include salt. Also salt was used on UNIX only because when shadow passwords didn't exist the system had to be protected against users that had the same password and could easily read the password file to compare.

    15. Re:Salt by Stewie241 · · Score: 2, Insightful

      There are programs such as MyPasswordSafe, that allow you to store your passwords in an encrypted form. I have one crazy password that protects all the other passwords. I haven't checked the encryption on it, but I know I need the password (which is stored only in my head), to unlock the other passwords.

    16. Re:Salt by CarAnalogy · · Score: 2, Insightful

      This is slashdot, we need a bad car analogy too. :P

    17. Re:Salt by maxwell+demon · · Score: 5, Funny

      This is slashdot, we need a bad car analogy too. :P Your car rusting too slowly? Salt solves that! :-)
      --
      The Tao of math: The numbers you can count are not the real numbers.
    18. Re:Salt by csteinle · · Score: 4, Funny

      When a problem comes along, you must salt it.
      Before the cream sits out too long, you must salt it.
      When something's going wrong, you must salt it.

      Now salt it! Salt it good!

    19. Re:Salt by Sangui5 · · Score: 5, Informative

      You're implying that salting on UNIX makes attacking the hash infeasible, this is simply not true.
      Salting doesn't make breaking hashes infeasible, but it makes the attacker work harder, and makes certain highly efficient attacks infeasible.

      There are only 4096 different combinations in the salting algorithm in crypt() will use which a brute forcer can easily iterate.
      And I completely agree that 12 bits of salt is insufficient in a modern world. Which is why MacOS 10.4 and up uses 32 bits of salt, most Linux implementations use 48 bits of salt, and OpenBSD uses (a rather paranoid) 128 bits. Since it doesn't require any more effort from the user, and only a tiny amount of resources, there's no reason not to use a large salt.

      Salting a known algorithm is almost pointless because as I just described salted passwords can be just as easily defeated if you know the mechanism
      If you have the password hashes they you have the salt too. Either way, brute forcing one password is no harder. But it means you have to work harder to do a whole list of passwords, because each password has to be attacked individually.

      Salting also makes precomputation (pre-built dictionaries and rainbow tables) infeasible. Every bit of salt in essence doubles the amount of storage for your precomputation attack. This is (partly) why a fairly effective set of rainbow tables for LANMAN hashes take only 500ish MB, NTLM hashes take 8.5 GB, but even for the old Unix crypt() it would take at least 2 TB. And don't even think about trying any precomputation attacks against OpenBSD; even if the user was stupid and restricted themselves to 5 digit alphanumeric passwords, your rainbow table would consume more storage than exists. Salting makes you attack each password individually, and keeps you from doing any work ahead of time.

      this is why NT doesn't include salt.
      NTLM doesn't include a salt because (1) MS is trying to maintain a semblance of backwards compatibility with some ill-designed challenge response authentication mechanisms, and (2) they haven't learned the lesson that salting is a valuable strategy to make attacking hashes more difficult.

      Also salt was used on UNIX only because when shadow passwords didn't exist the system had to be protected against users that had the same password and could easily read the password file to compare.
      That is one reason why salts were used for old Unix crypt(). The other was to make precomputed dictionary attacks harder, which is still a valid use. Today, the best reason to use a salted hash is to avoid rainbow tables.

      Really, the modern reason to use a salt is to prevent the type of attack the original poster used, and to prevent rainbow table attacks. Both of these are good attack techniques, and salting completely moots them.

    20. Re:Salt by Sangui5 · · Score: 3, Informative

      You are correct that salting does not prevent nor make harder a brute force attack against one password.

      It *does* breaks the Google attack, a precomputed dictionary, and rainbow tables, *even* if the attacker just wants *your* password.

      Of these, rainbow tables is by far the most effective. Nobody computes their own rainbow tables. If I want to attack your hashed password, I'll download or buy a set of rainbow tables. Salting prevents this, because every salt value needs its own set of rainbow tables (or you have to include the salt rainbow table entries, which is approximately the same). Either way, using a 32-bit salt implies that to be equally effective, the total set of tables has to be 4 billion times larger. A 128 bit salt; well, you just can't create a set of rainbow tables for that. It just demolishes their effectiveness.

      As you imply, there is a variant on salting which even makes plain brute forcing harder: don't store all of the salt. Of course this is (1) not widely deployed, and (2) imposes a high cost for legitimate use. Anyway, using repeated hash iterations is better, since you can't parallelize it.

    21. Re:Salt by ArsenneLupin · · Score: 2, Funny

      Pretzels missing that unique flail? Salting solves it! Crazy madman bombing your country/taking away your freedoms? Pretzels solve it!
  2. MD5 Lookup Site & Names by eldavojohn · · Score: 5, Informative
    For those of you who missed it in the article, the has was:

    20f1aeb7819d7858684c898d1e98c1bb And sure enough, if you read the comments to the blog, there is a site called http://md5.rednoize.com/ that reveals that the hash is "Anthony." So although Google helped, there appears to be resources online for it (if you don't have your own Rainbow Table mega database).

    He could have discovered this if he had used a database complete with names, something I don't think would have been too difficult for him.

    This Google search idea is kind of moot if the user uses some very basic password construction such as what I've commented on before. Also, as the blog mentions, this discussion is worthless if WordPress used salting which is related to nonces used in security engineering. I think that stuff has been around for, what about five years now? Wake up WordPress!
    --
    My work here is dung.
    1. Re:MD5 Lookup Site & Names by PFAK · · Score: 3, Funny

      He can't be much of a "security researcher" if someone hacked his own website.

      --

      Free means no restrictions, ironic the FSF's GPL forces restrictions, isn't it? What's your definition of free?
    2. Re:MD5 Lookup Site & Names by Anne_Nonymous · · Score: 2, Funny

      That's remarkably close to my password hash:

      > Do0d+H!$p@SsW0rD!$t0ta1y$eCuRe

    3. Re:MD5 Lookup Site & Names by DaFallus · · Score: 2, Funny

      And sure enough, if you read the comments to the blog, there is a site called http://md5.rednoize.com/ that reveals that the hash is "Anthony." So although Google helped, there appears to be resources online for it (if you don't have your own Rainbow Table mega database).

      Another reverse md5 hash lookup

      I have to agree with everyone else so far, pass the Salt.

      --
      No one cares what your captcha was

      Houston TX, USA
    4. Re:MD5 Lookup Site & Names by joNDoty · · Score: 5, Funny
      Crap. From their "about" page:

      Additionaly everytime when you enter a non-md5 hash string into the search field, the md5 result for that search strings gets stored in our database for future use. Thanks for warning me. I tested to see if my password was in there... it is now!!!
    5. Re:MD5 Lookup Site & Names by Cairnarvon · · Score: 5, Insightful

      He didn't write the WordPress software, and presumably doesn't have the time to audit every bit of code it uses.
      I doubt Bruce Schneier himself audited the entire Movable Type codebase, which he uses for his blog. Does that make Schneier "not much of a security researcher"?

    6. Re:MD5 Lookup Site & Names by Ossifer · · Score: 2, Informative

      md5oogle.com (http://md5oogle.com) is what you want...

  3. Obligatory by Anonymous Coward · · Score: 5, Funny

    In Soviet Amerika, MD5 passwords crack you.

    1. Re:Obligatory by CrazyJim1 · · Score: 5, Funny

      What about the flip side: Using Crack to Google MD5 passwords?

  4. I wouldn't be too alarmed. by morgan_greywolf · · Score: 5, Informative

    Most MD5 password hashes, such as those used in *nix, are salted, and hence secure from this sort of vulnerability. That Wordpress uses unsalted MD5 sums to store passwords boggles my mind. It shows that the developers know even less about cryptography than I do. That's scary.

    1. Re:I wouldn't be too alarmed. by SevenDigitUID · · Score: 5, Funny

      That is totally unfair to the wordpress developers. Just because they don't care doesn't mean they don't understand.

    2. Re:I wouldn't be too alarmed. by cstdenis · · Score: 5, Interesting

      You do realize that most businesses (and therefore most websites you have accounts on) just store passwords plain text because it's easier to do tech support that way. Salted hashes are better than unsalted hashes, but most don't bother hashing at all.

      --
      1984 was not supposed to be an instruction manual.
    3. Re:I wouldn't be too alarmed. by nuzak · · Score: 4, Interesting

      That Wordpress uses unsalted MD5 sums to store passwords boggles my mind. It shows that the developers know even less about cryptography than I do. That's scary.

      Oh it's even better than that. It stores your md5 password in a plain text cookie, and if it receives such a cookie, sets an $already_md5 flag to true that's then passed to wp_login() which then just compares it literally against the unsalted md5 entry.

      <guinness>Brilliant!</guinness>

      --
      Done with slashdot, done with nerds, getting a life.
    4. Re:I wouldn't be too alarmed. by neoform · · Score: 2, Funny

      If you've ever used wordpress before and actually looked at the code, you'll know right away that wordpress inc. does not employ programmers.

      --
      MABASPLOOM!
    5. Re:I wouldn't be too alarmed. by LWATCDR · · Score: 2, Insightful

      I used to store user passwords in plain text on my website. Before anyone gets all bent. I assigned passwords to the users and didn't let them change them. They where AOL style passwords things like blue#guppy. Also there wasn't any personal info that mattered tied to the password. It was a small site and worked well. They couldn't use one password for this simple message base and there bank account, they couldn't use stupid passwords like their first name, and I could look them up if they forget or for testing.
      When I moved to a CMS we went to hashed passwords.
      Boy is it a pain. Nobody understands that even I can not look at their passwords. Yes a salted hash is the correct and secure way to do things... But it can be a pain in the rear.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  5. Dark Helmet by Nate+Fox · · Score: 4, Funny

    So the combination is 827ccb0eea8a706c4c34a16891f84e7b. (lifts mask) That's the stupidest combination I've ever heard in my life. That's the kinda thing an idiot would have on his luggage.

  6. Re:Don't panic! by roguetrick · · Score: 2, Informative

    You never have used rainbow tables have you? You're in for a rude awakening.

    --
    -The world would be a better place if everyone had a hoverboard
  7. Let me guess by GroeFaZ · · Score: 5, Funny

    The password was hunter2?

    --
    The grass is always greener on the other side of the light cone.
    1. Re:Let me guess by omnipresentbob · · Score: 5, Funny

      What's with all the stars in your post?

  8. 5 years? by Junta · · Score: 4, Informative

    Try decades! The good old days of Unix even had salts (even if they were just two bytes)

    --
    XML is like violence. If it doesn't solve the problem, use more.
  9. In itself nothing new by owlstead · · Score: 4, Insightful

    But if I ever need to run a hash against a password database, I'll remember this lesson and first perform a Google search. Saves a lot of time and CPU cycles.

    I am already doing this for telephone calls I cannot place. If it's an institution or a person that is calling because of profession, the chances that the telephone is listed somewhere on a (search engine) accessible web page is *very* large.

    1. Re:In itself nothing new by CastrTroy · · Score: 2, Insightful

      I've also started doing this for telephone numbers. Any number I don't recognize, I let the answering machine deal with it. If they don't leave a message, their call isn't important. Also, if you look up the number, just to make sure you didn't miss anything, then you can often find complaint sites when the number belongs to a telemarketer. I think just about every number I've ever looked up that didn't leave a message was a telemarketer.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  10. just look for "cf99" by russ1337 · · Score: 2, Funny

    5f4dcc3b5aa765d61d8327deb882cf99 is the MD5 hash for 'password'.....

    search enough systems and you're bound to see some doosh has used it.

  11. Re:RTFA by eln · · Score: 5, Funny

    You're correct. You have totally invalidated the points I brought up in my post. Good show.

  12. My uneducated respose would be: by newr00tic · · Score: 4, Funny

    What about the flip side: Using Crack to Google MD5 passwords? 2343e9f361fea282776586d7056025db
    --
    A horse can't be sick, you know, even if he wants to.
    1. Re:My uneducated respose would be: by rmadmin · · Score: 2, Funny

      My hash is 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

  13. Been there. Done that. by this+great+guy · · Score: 3, Informative

    I have personally been using Google this way for a while. This is the first thing I do when I encounter a passwd hash during a pentest. This is a technique that works very well especially for hashes produced by random apps that you have no idea what hashing algorithm they use. It works well not because the public passwd hash databases indexed by Google are large (they are not), but because they are very diverse, both in term of number of algorithms (MD5(), MD5(uppercase()), SHA1(), etc) and in terms of number of hash formats (hexadecimal value, decimal value, base64, etc).

    And above all, it only takes 2 sec to perform the Google search.

  14. on a related note... by sootman · · Score: 4, Interesting
    ... I wish Google would collect/show/use checksums of files in search results. It would be a great way to find identical files.* Thousands of uses:
    • I found this file on my computer and I forgot where it came from.
    • I downloaded this file but I forget where I got it. It's too big to email so I would like to send a friend a link to the original file.
    • I want to see if anyone has taken this pic from my site and posted it elsewhere.
    • This download is taking FOREVER. Is anyone else hosting this exact file?
    and many, many more. I had this idea years ago and sent it in to them but haven't heard anything since. I don't want any credit**, just implement it and let me know when it's up and running! And the funny thing is, I'm sure Google is already checksumming every file as part of how they do all their magic. All they have to do is post the data!

    * and, since collisions are possible, it would provide a nice corpus to study collisions, etc. in the real world.

    ** this isn't an entirely original idea. Linux distros have been posting checksums for years as a way to let users verify that their downloads were not corrupted; as a bonus, I (and I'm sure some others) have done searches of those values to find sites hosting that particular release.
    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
  15. Man, I need to change my password NOW. by fo0bar · · Score: 4, Funny

    Results 1 - 10 of about 101,000 for d41d8cd98f00b204e9800998ecf8427e. (0.04 seconds)

  16. "Not quite right" to parent and grandparent by abb3w · · Score: 2, Informative

    Admittedly, both salting and complex passwords increase the size of the database involved. However, there's no reason one couldn't generate those databases as well. In fact, one of the Google results is for an on-line Password hash database. So, all a group of hackers has to do is put the thing online in some manner of distributed storage, and wait for Google to index all the pages for 'em.

    Fortunately, the problem grows exponentially with the number of allowable characters. Unfortunately, so does Google's headaches. I suspect Google will take some "don't be evil" measures on this shortly, if only to keep their Data Storage department from needing to give Earth a second moon....

    --
    //Information does not want to be free; it wants to breed.
  17. Credibility? by MarkLewis · · Score: 3, Informative

    Am I the only one who thinks that a "security researcher" whose site gets hacked and is about as credible as an accountant who fails an audit?

    And for his sake I really hope that he knew about rainbow tables and just decided for some indecipherable reason not to mention that they are far more effective for password cracking than Google searches.

    And who submitted this story to Slashdot with the sensational summary about "any password used by anybody, ever" being vulnerable to Google searches? That's an easy enough claim to completely debunk by taking MD5 hashes of several passwords and sampling which ones come back. Let's see:

    92259762923b4e79d2073ecb03217462 (hash for 'july2007') - Nothing
    6e933f3054f533c63dd59479ca9f4b6f (hash for 'hello_world') - Nothing
    2c6c8ab6ba8b9c98a1939450eb4089ed (hash for 'abc123') - Google found this one as an md5 example
    6a51f1fe97bdebece7652842a0e2351e (hash for 'pickles') - Nothing
    5eaaf94141c371ce96675aa6445003c4 (hash for 'happy') - Nothing

    So basically not even common words get picked up by Google, much less "any password used by anybody else, ever".

    1. Re:Credibility? by garompeta · · Score: 2, Funny

      With all my respect, 596a96cc7bf9108cd896f33c44aedc8a

    2. Re:Credibility? by dgym · · Score: 4, Informative

      Your strings have newlines in them, maybe you meant:
      echo -n happy | md5sum

      most password fields don't accept newlines, so trying without them:
      3e652df0f1332cfc9df779d49667defc - still nothing
      99b1ff8f11781541f7f89f9bd41c4a17 - still nothing
      e99a18c428cb38d5f260853678922e03 - abc123
      fd03204cfdc557b0f0d134773ae6fff5 - obscure, it finds a flash app on a site called pickles and things
      56ab24c15b72a457069c5ea42fcfc640 - happy

      So it is still not that much of a problem, but at least happy is on the list.
      I wonder if negative outlook words are more or less secure?

    3. Re:Credibility? by Cairnarvon · · Score: 2

      Perhaps he has better things to do than audit the complete WordPress codebase?
      If he'd written his own software, you might have half a point (though only half of one; perfectly secure apps, especially perfectly secure web apps, are always a pipe dream).
      If he'd been a victim of the same exploit several times in a row, then you might have a full point.

      You can't blame a person for being a victim of a zero-day exploit in someone else's software, especially if the software is as complex as a blogging/CMS platform.

    4. Re:Credibility? by neonsignal · · Score: 5, Funny

      I looked these up on google, and they directed me to some slashdot page...

  18. How about "don't use your first name As your PW"? by nobodyman · · Score: 3, Insightful

    No, the conclusion is you should always use salted hashes.
    That's good advice for application developers, but the original post was offering advice to users. Still, even that is a bit of an overreaction. From TFA:

    And indeed, the MD5 hash of "Anthony" was the database entry for the attacker. I had discovered his password.
    Not to diminish this admin's accomplishment (it sounds like he's quite clever), but doesn't this boil down to "don't use your name as your password"? Or better yet, "don't use any proper name as a password".

    Keep in mind that this was a hash of a userid (not a password) that was captured in a google index, and it's highly unlikely that someone will choose a userid on a google-indexed site that just-so-happens to be your 10+ character password that has mixed-case and special characters. I think the same "good password advice" still applies, even in a google-world.
  19. Re:french bitch by maxwell+demon · · Score: 4, Insightful

    I just hate douche bags who can't spell. Spelling errors can make your password more secure!
    --
    The Tao of math: The numbers you can count are not the real numbers.
  20. No worse than Subversion by Antique+Geekmeister · · Score: 3, Insightful

    It's no worse than Subversion's insistence on storing user passwords for any protocol but SSH public keys in a local plaintext file.

    Do not *EVER* allow a Subversion system to use the same passwords as the user system, and if you have access to the user's accounts, run a check of their stored Subversion passwords to make sure they didn't use their same password somewhere else as for their local user account.

  21. Security through obscurity by megaditto · · Score: 2, Funny

    But nobody will guess that the search string "jennifer lopez" is my actual password. I am still safe for now.

    --
    Obama likes poor people so much, he wants to make more of them.
  22. new worm spreading by ThinkOfaNumber · · Score: 2, Interesting

    Google is now shutting down servers and re-routing as they try and halt the spread of the newly-detected worm that tries to do a DOS on google, by making affected machines do a google search with random strings that look like 0cfa9f600839f57e90e5559b8ee54864

    But seriously, as fun as it is to look up all your hashed responses on google, I'm going back to por... work :)

    You might also want to check out http://utilitymill.com/utility/Goog_Your_Hash to see if your password is 'safe'.

  23. Re:Salt.. .so then develop by davidsyes · · Score: 4, Funny

    a rad ass custom mod chip that the user injects into the cerebral cortex and obdulla loongggatta and up down undah. The user then develops Tourettes Syndrome out the ass and has shit for brains now and only has to utter some crazy fucking ass phrase to seed a crazy fucking password in the solid-state gene-erator cuz they've gone fucking goddam crazy over that motherfuckin' chip in their ass and brain.

    Crazy fucking luser. Crazy fucking assword. Crazy fuckin' whirled up world.

    The above is the 1.0 tourettes pack, silver. Stainless-fucking-steel adds an additional language pack...

    --
    Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
  24. Hash DBs have been around for years. by smitth1276 · · Score: 2, Informative

    Like GData. That has been around since the summer of 2005.

  25. HMAC by pestilence669 · · Score: 2

    You can use the standard HMAC algorithm on top of MD5 or SHA1 to adequately hash a password. It's much better than simply appending or prepending garbage to your cleartext.

    PHP5 has a function built-in and I'm sure most other languages have comparable implementations available. It's not fool proof by any stretch, but if you use a randomly generated fixed "key," it at least prevents someone from using Google to discover the cleartext.

    Better still: Use a unique value for the account + a randomly generated key. For example:
        Key = "c,.rcph203p9h"
        UserID = 12
        HMAC_KEY = "c,.rcph203p9h::12"

    That will make it computationally difficult to crack, as each password must be brute-forced individually.

  26. Salt it by kauttapiste · · Score: 2, Funny

    Use no password that any other human being has ever used, or is ever likely to use, for any purpose.
    I'd take that advice with a pinch of salt. :-)