Jump to content


Photo

md5 sql query


  • Please log in to reply
4 replies to this topic

#1 StirCrazy

StirCrazy
  • Members
  • PipPipPip
  • Advanced Member
  • 75 posts

Posted 21 September 2006 - 02:34 AM

Can anyone help with the correct syntax for the following query:-

  $r = my_query("select id,email from users where md5(email)=$email");
  list($toid,$email) = mysql_fetch_row($r);

Thanks in advance
S.C>

#2 craygo

craygo
  • Staff Alumni
  • Advanced Member
  • 1,973 posts
  • LocationRhode Island

Posted 21 September 2006 - 02:40 AM

do the conversion first.

<?php
$md5_email = md5($email);

$sql = "SELECT id, email FROM users WHERE email = '$md5_email'";
?>

Out of curiosity, why would you store an email address in an MD5 hash anyway. Impossible to change one in the db and you can't show it.

Ray

#3 StirCrazy

StirCrazy
  • Members
  • PipPipPip
  • Advanced Member
  • 75 posts

Posted 21 September 2006 - 02:47 AM

Thanks for your comments craygo.

Can't work like ^^^ that.

the email address are stored normally in the database. I md5'd them when I displayed them in a form on the previous page where users can checkbox the required user they want to email. The purpose being that I don't want them to be visable when you 'view source'.

So now they're parsed already encrypted and now need to match up with the unencrypted data.

does that make any sense at all LOL.


S.C>

#4 StirCrazy

StirCrazy
  • Members
  • PipPipPip
  • Advanced Member
  • 75 posts

Posted 21 September 2006 - 03:26 AM

been googling and can seem to find any reference to md5 being used in queries.

has anyone else ever seen it being used like this?

S.C>

#5 craygo

craygo
  • Staff Alumni
  • Advanced Member
  • 1,973 posts
  • LocationRhode Island

Posted 25 September 2006 - 01:09 PM

Well what you have to do is query the database first to get a match on the e-mail address. once it matches, get the id of the row that is needed. then md5 hash it once it is found. Or just add one more field in the database with the e-mail addres hashed and problem solved. If you want to protect the e-mail address it will be worth doing and alot easier on your code.

1. create field type=varchar length=32

2. use this sql UPDATE tablename SET md5_email_field = md5(e-mail_field)

Now you have it set

Let me know if you need more help

Ray




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users