Php Laravel Hash::check返回false,即使我用变量的字符串值替换它们,它仍然有效

Php Laravel Hash::check返回false,即使我用变量的字符串值替换它们,它仍然有效,php,laravel,Php,Laravel,Laravel Hash::check返回false,即使当我用变量的字符串值替换它们时,它仍然有效。有人能帮我解决这个问题吗。我想不出是什么引起了这个问题。我检查了我的变量返回的内容,它们返回了正确的值,我尝试将哈希检查中的字符串替换为变量的字符串值,它可以工作,但当我使用变量时,它不工作 public function verifyResetPageAccess(Request $request){ $email = $request->email;

Laravel Hash::check返回false,即使当我用变量的字符串值替换它们时,它仍然有效。有人能帮我解决这个问题吗。我想不出是什么引起了这个问题。我检查了我的变量返回的内容,它们返回了正确的值,我尝试将哈希检查中的字符串替换为变量的字符串值,它可以工作,但当我使用变量时,它不工作

    public function verifyResetPageAccess(Request $request){
        $email = $request->email; 
        $token = $request->token;

        $exists = DB::table('password_resets')->where('email',$email);
        

        if($exists === null){
            return response(['message'=>'unauthorized'],401);
            
        }else{
          $dbToken = DB::table('password_resets')->where('email',$email)->pluck('token');
        
        
          if (Hash::check($token, $dbToken)) {
            return response(['message'=>'authorized']);
        }else{
              return response(['message'=>'unauthorized'],401);
          }


        }

    }

我修好了。dbToken正在返回一个数组。我只是没有选择索引。它现在可以工作了

当你用哪些值替换哪些变量时?在哈希检查中,当我将$token更改为纯文本标记时,当我将$dbToken更改为哈希标记时,它可以工作,但当我使用变量时,它可以工作,即使我检查了变量的返回值并显示了正确的值。请向我们显示一个
$token
和来自失败的
检查()的
$dbToken
$token将是1324214124,哈希标记将是$2y$10$sr9gshvpmjokzndxc6clouigkpq7lqwjimst7uvt9wha9xry2qpgy如果您不想要
pulk
值,您不想要一个单一值的列表