Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php:md5不同密码的编码方式相同_Php_Md5 - Fatal编程技术网

php:md5不同密码的编码方式相同

php:md5不同密码的编码方式相同,php,md5,Php,Md5,我不是php程序员,所以我只知道我在网上查到的关于md5标记的内容 我正在检查php页面中的密码是否匹配。我在php url中发送密码,并使用以下代码检索密码: $u_pswd = md5(trim(strip_tags($_REQUEST['pswd']))); 然后,我运行一个查询以获取用户的密码,以便检查它们是否相同: $usql = "SELECT user_password FROM ft_users WHERE user_email = '".$u_mail."'"; $ures

我不是php程序员,所以我只知道我在网上查到的关于
md5
标记的内容

我正在检查php页面中的密码是否匹配。我在php url中发送密码,并使用以下代码检索密码:

$u_pswd = md5(trim(strip_tags($_REQUEST['pswd'])));
然后,我运行一个查询以获取用户的密码,以便检查它们是否相同:

$usql = "SELECT user_password FROM ft_users WHERE user_email = '".$u_mail."'";
$ures = mssql_query($usql);
$urow = mssql_fetch_array($ures);
if ($urow['user_password'] = $u_pswd) {
    // passwords match
} else {
    // passwords do not match
}
我的问题是它说密码每次都匹配。例如,如果当前密码为
password
,并且我向其发送的密码
不正确
,则输出为:

$\u pswd
=64A4E8FAED1A1A1AA0BF8BF0FC84938D25

$urow['user_password']
=64A4E8FAED1A1A1AA0BF8BF0FC84938D25

有人能帮我解决为什么密码不一样却说密码相同的问题吗?

不要使用“=”进行比较。“=”将指定一个值,任何表达式“$var=$value”都将计算为true。改为使用“==”

不要使用“=”进行比较。“=”将指定一个值,任何表达式“$var=$value”都将计算为true。改为使用“==”


=用于分配,在您的代码中,您将
$u\u pswd
值分配给
$urow['user\u password']

您需要使用==来比较这些值是否相等,以获得所需的结果

$usql = "SELECT user_password FROM ft_users WHERE user_email = '".$u_mail."'";
$ures = mssql_query($usql);
$urow = mssql_fetch_array($ures);
if ($urow['user_password'] == $u_pswd) {

} 
else 
{

}

希望有帮助。

=用于分配,在您的代码中,您将
$u\u pswd
值分配给
$urow['user\u password']

您需要使用==来比较这些值是否相等,以获得所需的结果

$usql = "SELECT user_password FROM ft_users WHERE user_email = '".$u_mail."'";
$ures = mssql_query($usql);
$urow = mssql_fetch_array($ures);
if ($urow['user_password'] == $u_pswd) {

} 
else 
{

}

希望有帮助。

您确定在$\u请求['pswd']中获取正确的数据吗这是一种非常不安全的密码存储方式(谷歌“MD5彩虹表”)-如果您运行的是PHP5.5+,请尝试使用
password\u hash()
:您确定在$\u请求['pswd'中获取正确的数据吗这是一种极其不安全的密码存储方式(谷歌“MD5彩虹表”)-如果您运行的是PHP5.5+,请尝试
password\u hash()