php: md5不同密码编码方式相同
php: md5 different passwords encoded the same way
我不是 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
,我给它发送一个密码INCORRECT
,输出是:
$_pswd
= 64a4e8faed1a1aa0bf8bf0fc84938d25
$urow['user_password']
= 64a4e8faed1a1aa0bf8bf0fc84938d25
有人可以帮我解决为什么说密码相同而实际上不同吗?
请勿使用“=”进行比较。 “=”将分配一个值,任何表达式“$var = $value”都将被评估为真。请改用“==”。
if ($urow['user_password'] == $u_pswd) { ... }
= 用于分配,在您的代码中,您将 $u_pswd
值分配给 $urow['user_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
{
}
希望对您有所帮助。
我不是 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
,我给它发送一个密码INCORRECT
,输出是:
$_pswd
= 64a4e8faed1a1aa0bf8bf0fc84938d25
$urow['user_password']
= 64a4e8faed1a1aa0bf8bf0fc84938d25
有人可以帮我解决为什么说密码相同而实际上不同吗?
请勿使用“=”进行比较。 “=”将分配一个值,任何表达式“$var = $value”都将被评估为真。请改用“==”。
if ($urow['user_password'] == $u_pswd) { ... }
= 用于分配,在您的代码中,您将 $u_pswd
值分配给 $urow['user_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
{
}
希望对您有所帮助。