我使用SHA1加密密码。在我的原始代码中,我检查了密码字段是否为空,其中:if(空($ newpassword)和(空($ newpassword2))){}
由于我现在使用SHA1并且当字段留空时它自动生成da39a3ee5e6b4b0d3255bfef95601890afd80709,我该如何重新编写代码?
将da39a3ee5e6b4b0d3255bfef95601890afd80709翻译回字符串?或其他什么?
请帮忙。
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
// oude password controle
if ($password == $qpassword)
$oudpassword_goed = 1;
// password controle
if ($newpassword == $newpassword2)
$newpassword_goed = 1;
if (empty($newpassword) and (empty($newpassword2)))
$newpassword_goed = 2;
// email controle
if ($email == $email2)
$email_goed = 1;
}
答案 0 :(得分:7)
答案 1 :(得分:2)
你可以检查da39a3ee5e6b4b0d3255bfef95601890afd80709
以检查它是否为空。
更好的方法是在散列之前检查空虚。
答案 2 :(得分:1)
da39a3ee5e6b4b0d3255bfef95601890afd80709
的SHA1哈希值是一个众所周知的空字符串哈希值。检查此值。
答案 3 :(得分:1)
你可以做些什么来检查密码字段是否为空是使用strlen()来检查你实际发送的字符串的长度,所以如果字符串长于0,那么它不是空的,否则显示一个错误,告诉他们他们的密码字段是空的,不要将它添加到数据库中。此外,由于SHA1使用单向加密方法,因此无法将SHA1转换或转换回原始字符串。