我正在使用Lumen来开发我的API网站,我遇到了这个部分我在哈希密码和检查哈希,但它总是返回下面的false
是我的尝试。
$hashed = $request->input('hash'); // e.g. $2y$10$EBQKLl5cdbOLzP0luWUlp.hQYJLYGnDeOymodXSAbWj.Posf.yv1m
$res = Hash::check(trim($request->input('password')), trim($hashed));
return response()->json([ 'hash' => $hashed, 'password' => $request->input('password')), 'hash_result' => $res ]);
我使用trim,以确保没有空格,我可以验证变量(哈希,密码)存在所以看起来是错的?
使用邮递员
任何帮助,想法都非常感谢。谢谢。
hash :: check()用于检查纯文本(如密码),以防止在您的网站内生成哈希。名为“APP_KEY”的.env中有一个键用于创建哈希并检查哈希值。
所以你做错了就是在你的API的同一个请求中发送密码和散列密码(不是由你的网站生成)。
只需发送密码并根据数据库中的散列版本进行检查。