如果您確定密碼是正確的,但是password_verify()
函數始終返回無效密碼,可能有以下幾個可能的原因:
密碼哈希存儲的字段長度不夠:password_verify()
函數需要哈希存儲的字段長度至少為60個字符。如果字段長度不夠,無論密碼是否正確,函數都會返回無效密碼。請檢查字段長度是否滿足要求。
密碼哈希存儲的字段類型不正確:password_verify()
函數需要哈希存儲的字段類型為字符串。如果字段類型不正確,函數可能無法正確解析哈希值,從而返回無效密碼。請檢查字段類型是否為字符串。
密碼哈希存儲的字段包含額外的空格或換行符:如果密碼哈希存儲字段包含額外的空格或換行符,password_verify()
函數可能無法正確解析哈希值,從而返回無效密碼。請檢查字段是否包含額外的空格或換行符,并在比較密碼哈希之前進行適當的修剪。
如果以上方法都沒有解決您的問題,建議您檢查密碼哈希算法是否正確設置,并確保使用相同的算法對密碼進行哈希和驗證。