使用spring生成的salt md5密码不同于在php中生成的salt md5密码

使用spring生成的salt md5密码不同于在php中生成的salt md5密码,php,Php,我使用用户名作为spring安全性的salt,但是当我尝试在php中使用类似的情况时,它会生成一个不同的哈希密码。以下是我的php代码: <?php $un=$_POST['username']; $pw=$_POST['password']; $salt ='weiren'; $passw='enjoyit'; $pass=md5($passw.md5($salt)); mysql_connect("localhost","root","");

我使用用户名作为spring安全性的salt,但是当我尝试在php中使用类似的情况时,它会生成一个不同的哈希密码。以下是我的php代码:

<?php
   $un=$_POST['username'];  
   $pw=$_POST['password']; 
   $salt ='weiren';
   $passw='enjoyit';
   $pass=md5($passw.md5($salt));
   mysql_connect("localhost","root","");
   mysql_select_db("dbname");
   $sql=mysql_query("select * from people where username = '$un' and password = '$pw'");

   if(mysql_num_rows($sql) > 0)  
      // ( $un == “ajay” && $pw == “ajay”)  
      echo 1;  // for correct login response  
   else  
      echo $pass;
   // for incorrect login response  
?>

您在散列密码方面遇到了很多麻烦,但是您对SQL注入非常开放,这使得您的努力毫无用处。您确实应该通过准备好的查询来学习PDO。此外,您应该为每个密码使用不同的salt。最后,避免MD5。。。试试惠而浦或者别的什么。这些概念在StackOverflow上都有很好的文档记录。我对每个密码使用不同的salt,因为我使用用户名作为salt,所以所有密码都会不同。我不得不使用md5,因为我在spring security中使用了它。现在的问题是,spring和使用php在它之后都会生成不同的密码集已经腌制过了。春天的腌制怎么样?通常在salt时,is just md5($password.$salt)或md5($salt.$password)spring也使用用户名作为salt,然后用md5对其进行哈希运算,但我不确定为什么php和spring都会生成不同的密码。我终于解决了这个问题,感谢大家的帮助