1 php
我需要加密密码并将其存储在数据库中.我添加了一个代码"$ newpass = md5($ pass_word);" 在PHP文件中.但仍然无法正常工作
<?php
$hostname = "xxxx";
$username = "xxxx";
$password = "xxxx";
$dbName = "xxxx";
$user_name='';
$pass_word='';
$email='';
$errormsg='';
$subject='';
$message='';
$newpass='';
$conn = mysql_connect($hostname,$username,$password) or die(mysql_error());
mysql_select_db($dbName);
if(isset($_POST["submit"]))
{
$user_name=$_POST['usr'];
$address1=$_POST['addr1'];
$address2=$_POST['addr2'];
$pass_word=$_POST['pswd'];
$newpass= md5($pass_word);
$email=$_POST['email'];
if(empty( $user_name))
{
$errormsg='<br>enter the name S';
}
if(trim($address1)=="")
{
$errormsg="<br>entre the address1 S";
//echo $errormsg;
}
if(trim($address2)=="")
{
$errormsg="<br>entre the address2 S";
//echo $errormsg;
}
if(trim($pass_word)=="")
{
$errormsg="<br>entre the password S";
// echo $errormsg;
}
if(trim($email)=="")
{
$errormsg="<br> enter the email S";
// echo $errormsg;
}
$message="your username is".$user_name."your passwod is".$pass_word;
if(strlen($errormsg)==0)
{
mysql_query("INSERT INTO `xxx` ( `id` , `Name` , `Address1` , `Address2` , `password` , `email` )
VALUES (
'', '$user_name', '$address1', '$address2', '$newpass', '$email'
)")or die(mysql_error()); ;
echo $newpass;
echo "you have successfully registered ";
}
mail($email,$subject,$message);
}
?>
Run Code Online (Sandbox Code Playgroud)
这是我的php页面.
小智 5
输入可能有问题,因为语法是正确的.虽然md5散列并不是一种不好的做法,但它本身相对不安全.为了增加一小部分安全性,我通常会做这样的事情(hash salting):
<?php
function md5_salted($string,$salt){
return md5( md5($string) . md5($salt) );
}
$salt = "wQfChpLYWFtiQV8d9Cao";
echo md5('userPassword'); // 221068207e125b97beb4e2d062e888b1
echo md5_salted('userPassword', $salt); // 07d9ffd0115e61fb22f857b7d252339c
?>
Run Code Online (Sandbox Code Playgroud)
值得注意的是:正如其他人所说,这是散列,而不是加密.如果您对加密感兴趣,请调查TLS/SSL.