如何通过phpMyAdmin修改Laravel用户的密码_使用Bcrypt哈希格式更新User表字段

张开发
2026/4/19 2:29:21 15 分钟阅读

分享文章

如何通过phpMyAdmin修改Laravel用户的密码_使用Bcrypt哈希格式更新User表字段
直接在phpMyAdmin更新password字段不行因为Laravel要求该字段必须是Bcrypt哈希值约60字符形如$2y$...而非明文或MD5等其他哈希手动填写明文或错误哈希会导致Hash::check()验证失败登录报“These credentials do not match our records”。phpMyAdmin 里直接更新 password 字段为什么不行因为 laravel 的 password 字段必须是 bcrypt 哈希值不是明文或其它哈希如 md5、sha256。直接在 phpmyadmin 里填入明文密码比如 123456用户登录时会失败——laravel 用 hash::check() 验证时会比对 bcrypt 哈希而明文显然不匹配。常见错误现象– 用户登录报 These credentials do not match our records.– 查看数据库发现 password 字段是纯文本或长度固定如 32 位而非 60 字符左右的 Bcrypt 字符串形如 $2y$10$...不要手动拼接 Bcrypt 字符串Bcrypt 依赖 salt 和 cost factor手写极易出错phpMyAdmin 不内置 Bcrypt 函数MD5() 或 SHA2() 等 MySQL 内置函数完全无效如果项目启用了 bcrypt 的变种如 argon2id更不能混用——得先确认 config/hashing.php 中的 driver用 Laravel Tinker 生成合法 Bcrypt 密码最稳妥这是推荐做法绕过 UI用 Laravel 自身的哈希机制生成值确保与运行时完全一致。操作步骤进入项目根目录执行 php artisan tinker输入 echo Hash::make(your_new_password);注意单引号包裹明文复制输出的完整字符串以 $2y$ 或 $2b$ 开头共约 60 字符回到 phpMyAdmin找到 users 表 → 编辑对应行 → 把 password 字段粘贴为该字符串 → 执行保存为什么可靠– Hash::make() 自动读取 config/hashing.php 配置如 rounds和登录验证逻辑完全同步– 不依赖 MySQL 版本或服务器环境– 支持 Laravel 5.8 的默认 driver 切换比如从 bcrypt 换成 argon2id立即学习“PHP免费学习笔记深入”不想开终端用一小段 PHP 脚本临时生成如果无法访问命令行如共享主机可上传一个临时脚本用浏览器访问它来获取哈希值。 微软爱写作 微软出品的免费英文写作/辅助/批改/评分工具

更多文章