用于 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 中手动输入的“密码”字段的数据类型?的主要内容,如果未能解决你的问题,请参考以下文章

用于解析现有帖子的Wordpress方法

Laravel 图像规则验证不适用于 Laravel 8,但适用于 Laravel 7 |拉拉维尔 |图片 |验证

Laravel 5漂亮的URL不适用于wamp

Laravel 5 Dotenv 用于特定子域

用于 Laravel 应用程序的 phpmyadmin 中手动输入的“密码”字段的数据类型?

sh 用于快速(呃)Laravel应用程序设置的Bash脚本