Chr*_*ski 0 php md5 salt login-script
我正在尝试将PHP中的登录脚本拼凑成一个学习项目.
这是用户注册时我的数据库写入的代码.这两个值都写入数据库.
$this->salt = md5(uniqid());
$this->password = md5($password.$salt);
Run Code Online (Sandbox Code Playgroud)
登录后,将触发以下函数.
function challengeLogin($submittedPassword, $publicSalt, $storedPassword){
if(md5($submittedPassword.$publicSalt) == $actualPassword){
return 0;
}else{
return 1;
};
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,在单步执行代码时,这两个值从未达到过.有人可以帮我理解为什么吗?
我认为你的代码中的问题是$salt变量是未定义的,所以它是空的.你应该用$this->salt
更改
$this->password = md5($password.$salt);
Run Code Online (Sandbox Code Playgroud)
至
$this->password = md5($password.$this->salt);
Run Code Online (Sandbox Code Playgroud)