#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2012
    Posts
    12
    Rep Power
    0

    Using preg_match to check a string is an MD5 hash


    Basically I want to check that a string is the result of an MD5 hash.

    So the string must be 32 chars long and only contain a-f and 0-9 chars.

    I have been doing it like this...

    PHP Code:
    if (!preg_match('/^[0-9a-f]{32}$/'$string)) {
      
    // false
    } else {
      
    // true

    I was wondering what other ways there are of checking? Have I missed anything, can my code return true for incorrect strings?

    Cheers
  2. #2
  3. Sarcky
    Devshed Supreme Being (6500+ posts)

    Join Date
    Oct 2006
    Location
    Pennsylvania, USA
    Posts
    10,871
    Rep Power
    6351
    That looks right. Why do you need to validate md5 to begin with?
    HEY! YOU! Read the New User Guide and Forum Rules

    "They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin

    "The greatest tragedy of this changing society is that people who never knew what it was like before will simply assume that this is the way things are supposed to be." -2600 Magazine, Fall 2002

    Think we're being rude? Maybe you asked a bad question or you're a Help Vampire. Trying to argue intelligently? Please read this.
  4. #3
  5. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2012
    Posts
    12
    Rep Power
    0
    Originally Posted by ManiacDan
    Why do you need to validate md5?
    It's part of an email validation script.

    When users on my site sign up they are sent an email containing a link like www.site.com/validate.php?id=12345&key=1f3870be274f6c49b3e31a0c6728957f.

    It's just a step to check the key taken from the link is valid before even using it.

    Thinking about it, I probably don't need to validate it. I'm probably being over cautious but at least I had a play with regular expressions!

IMN logo majestic logo threadwatch logo seochat tools logo