代码之家  ›  专栏  ›  技术社区  ›  Chris Sobolewski

PHP安全登录脚本-md5哈希与我在以前的脚本中写入数据库的哈希不匹配?

  •  0
  • Chris Sobolewski  · 技术社区  · 16 年前

    我正在尝试拼凑一个PHP登录脚本作为一个学习项目。

     $this->salt = md5(uniqid());
     $this->password = md5($password.$salt);
    

    登录后,将触发以下函数。

    function challengeLogin($submittedPassword, $publicSalt, $storedPassword){
        if(md5($submittedPassword.$publicSalt) == $actualPassword){
            return 0;
        }else{
            return 1;
        };
    }
    

    不幸的是,在我的代码中,这两个值从未相等。有人能帮我理解为什么吗?

    2 回复  |  直到 16 年前
        1
  •  5
  •   Lombo    16 年前

    我认为你代码中的问题是 $salt $this->salt

    改变

    $this->password = md5($password.$salt);
    

    到

    $this->password = md5($password.$this->salt);
    
        2
  •  1
  •   TheLQ    16 年前

    在将原始值与一些基本的echo语句进行散列之前,比较它们。要么是盐错了,要么是密码错了,要么是哈希表搞砸了。

    推荐文章