用于 Laravel 应用程序的 phpmyadmin 中手动输入的“密码”字段的数据类型?
Posted
技术标签:
【中文标题】用于 Laravel 应用程序的 phpmyadmin 中手动输入的“密码”字段的数据类型?【英文标题】:Data type of 'password' field for manual input in phpmyadmin for Laravel application? 【发布时间】:2020-07-24 19:07:08 【问题描述】:在我的 Laravel 应用程序中,我有两种类型的用户。一个是“管理员”,另一个是“用户”。
对于管理员,我想手动向数据库输入“用户名”和“密码”。那么手动输入的'users'表的'password'字段的数据类型是什么?
我已尝试使用“SHA1”。但是,当我尝试登录该“管理员”时,它给出了错误。
控制器登录
public function admin_login(Request $request)
$validator = $request->validate([
'username' => 'required',
'password' => 'required|min:6'
]);
if (Auth::attempt($validator))
return redirect()->route('dashboard');
phpmyadmin
有人帮忙吗?提前谢谢?
【问题讨论】:
创建一个用 Hash::make('yourpassword') 散列的密码并使用这个响应 这是重复的***.com/a/22846971/13112515 您的参数尝试错误。使用类似 $credentials = array('username' => request->username, 'password' =>request->password); 这能回答你的问题吗? How to create a laravel hashed password @ShaiCohen...这是我问题答案的一部分。 【参考方案1】:让我在这里澄清一件事,Larvel 使用哈希“bcrypt”、“argon”、“argon2id”驱动程序对字符串进行哈希处理。这是特定于编程语言的,而不是数据库语言。
你可以跑
php artisan tinker
在您的控制台中及之后。
echo Hash::make('admin_password_whatever_you_like')
您将获取字符串并将其复制并保存到数据库中,而无需调用任何 mysql 方法。
【讨论】:
....是的,我有一个使用您的代码的散列密码。并将其粘贴到我的数据库中。但是还是登陆不上!!并假设我的密码是“测试”。所以我使用echo Hash::make('test')
每次刷新我的浏览器我都有不同的密码。
这是“bcrypt”类型的散列,它总是生成新的字符串。我认为您对 Auth 的尝试是不正确的。它应该类似于 if (!Auth::attempt($request->only('email', 'password'))) echo "show error here"; else // 很好。 以上是关于用于 Laravel 应用程序的 phpmyadmin 中手动输入的“密码”字段的数据类型?的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 图像规则验证不适用于 Laravel 8,但适用于 Laravel 7 |拉拉维尔 |图片 |验证