laravel_hash_check_error
登入驗證時的錯誤訊息
1 | This password does not use the Bcrypt algorithm.(0) |
原因:
由於舊的資料表的雜湊方式為 md5
,但同時存在新的資料表使用bcrypt
雜湊,所以在驗證時會出現錯誤。
程式碼:
1 | $credentials = [ |
MemberUserProvider.php
1 | public function validateCredentials(Authenticatable $user, array $credentials): bool |
解決辦法:
Laravel 11 在驗證時,會自動開啟驗證密碼的格式是否符合,如果要關閉可以在 config/hashing.php 中設定 verify
為 false
。
1 | 'bcrypt' => [ |
參考資料:
https://laravel.com/docs/11.x/hashing#hash-algorithm-verification