【发布时间】:2013-08-05 00:00:14
【问题描述】:
<?php
date_default_timezone_set('Asia/Kolkata');
$xmlfile='xml/adminpwd.xml';
$xml = simplexml_load_file($xmlfile);
if (!empty($_POST['password'])) {
extract($_POST);
if($adminpwd!='this')
$error="Incorrect Password. Enter the correct password.";
}
?>
<form method='post' action='' name='admin'>
<h3 style="color: #798196;">Enter Current Password</h3><br/>
<input type='password' name='adminpwd' />
<input type='submit' name='password' value='Enter'>
</form>
这是我的脚本。
当我尝试这个时:
<?php
if (isset($error))
echo "<br/><h3 class='error'>".hash('sha512', $adminpwd)."</h3><br/>";
?>
我得到输出:
de784a6d81e125ff2223d977683c3efdd4513941d3737861008b8358d10e8d2757963c3a2619d0924a70d0e11b53492847f741af6e767388fd39em5c170508dp795>
但是当我尝试这个时: 我得到输出:
1fc286c9c7dc733b3a46a21a923c646c14c19bac951d63380ec8d4b3c6786fdbe7dd4bd325eef31553fa829e19989fe060da01921cfc68f7b9ff03383f78710b 虽然两个变量都包含相同的字符串。为什么输出不同?<?php
if (isset($error))
echo "<br/><h3 class='error'>".hash('sha512', $_POST['adminpwd'])."</h3><br/>";
?>
【问题讨论】:
-
在这两种情况下都打印出
$adminpwd。在你看到它们之前,你不会知道它们是一样的。另请注意,前导/尾随空格也总是值得怀疑的。 -
这里好点 ↑↑↑ 确保修剪输入的文本。
-
两次我都输入了相同的密码。并重复实验5次以上以确认。但结果是一样的。当我现在尝试时,两种情况都给出相同的输出。没有得到问题。不过谢谢。
-
这个问题似乎跑题了,因为它被错误地测试了。