Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 496
  • Last Modified:

SSL vs MD5??

I have developed a user login for a customer portal on my website (code below). I believe I have it md5 encrypted… (please correct me if I am wrong) – passwords on the database are still plain text… Is this secure?

Also – if this is so far the only security on my site do I also need an SSL certificate? What is the difference? Any help would be great. Thanks!

<?php
$username = $_POST['username'];
$password = md5($_POST['password']);

if ($username&&$password)
{
	
	$connect = mysql_connect("xxxx", "xxxx", "xxxx") or die("Connection Error!");
	mysql_select_db("xxxx") or die("Couldn't find db");
	
	$query = mysql_query("SELECT * FROM users WHERE username='$username'");
	
	$numrows = mysql_num_rows($query);
	
	if ($numrows!=0)
	{
		while ($row = mysql_fetch_assoc($query))
{
	$dbusername = $row['username'];
	$dbpassword = $row['password'];
}

if($username==$dbusername&&$password==md5($dbpassword))
{
	echo "Success!";
	
}
else
echo "Incorrect password!";

	}
	
	else
	die ("That user doesnt exist.");
	
}
else
die("Please enter username and password.");

?>

Open in new window

0
brettsky07
Asked:
brettsky07
2 Solutions
 
Patrick TallaricoCommented:
This may protect your password from being sniffed on a network, but it doesn't protect the username, or any data that is transmitted after authentication.
If your clients will be handling sensitive data while on this web site, I would strongly suggest SSL.
0
 
darkyin87Commented:
what you have you can do is. md5 your password and then save it into your database rather than saving it as plain text. In which the password in your database will be encrypted and even if people get access to the database they wont be able to crack it.

 I would recommend you to get an SSL atleast a shared SSL.
0
 
brettsky07Author Commented:
So is that all i need for md5 encryption? or is there something i need to do to the actual database as well?
0
New Tabletop Appliances Blow Competitors Away!

WatchGuard’s new T15, T35 and T55 tabletop UTMs provide the highest-performing security inspection in their class, allowing users at small offices, home offices and distributed enterprises to experience blazing-fast Internet speeds without sacrificing enterprise-grade security.

 
darkyin87Commented:
Yeas that is all you need. You can do the same thing in MYSQL side too. MYSQL also supports a variety of encrytion. refer this page:
http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html
0
 
brettsky07Author Commented:
is it necessary to do mysql encryption as well if i get a ssl certificate? Would the certificate protect the database?
0
 
darkyin87Commented:
Security is needed in 3 areas

1) Client Side: Using Javascript

2) On the network: Done by sending encrypted data and sending data using SSL

3) Server Side: Using encrytion like md5
0
 
brettsky07Author Commented:
Ok. Thanks for all your help!
0
 
TolomirAdministratorCommented:
md5 is no encryption it is a hash function.

There is no way to get the original value from a hash value without brute force hashing all values into a hash value.

For details see: http://en.wikipedia.org/wiki/MD5

So: If you use a http connection the user sends his password unencrypted over the internet (or local lan) on the server the password is md5 hashed and compared to the md5 hash value stored in database.
Someone sniffing the network can easily extract the usename + password.

so if you send passwords over the internet ALWAYS use SSL (https://) Connections.

Tolomir
0
 
Lukasz ChmielewskiCommented:
For what it seems you are not storing your passwords as a plain text - you are checking if the hash is equal to the hash soterd in the database...
0
 
brettsky07Author Commented:
Thanks so much for everyone's help! I will for sure get an SSL cert.
0

Featured Post

 The Evil-ution of Network Security Threats

What are the hacks that forever changed the security industry? To answer that question, we created an exciting new eBook that takes you on a trip through hacking history. It explores the top hacks from the 80s to 2010s, why they mattered, and how the security industry responded.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now