簡體   English   中英

我的密碼驗證數據庫中的值總是返回 false

[英]My password_verify for a value from database always return false

include("src/database.php");#this included file works wll
$query=mysqli_query($conn,"SELECT * FROM students limit 1");
$data=mysqli_fetch_assoc($query);
echo "my hased data id ".$data["password"]." and Actual password is 12345678 <br />";

if(password_verify("12345678",$data["password"])){
    echo "Finnally this worked";
}else{
    echo "THIS ALWAYS EXECUTES";
}

#now i cannot hardcode the data it sees it as a varaible inside of a string since it contains multiple $s
#this is the hashed data $2y$10$S/HjSwqh8QIjc

另一個問題是我無法將值硬編碼到變量中。 它包含多個$ s,因此它將它們視為字符串中的另一個變量。 我該怎么辦?

正如您在評論中所說,您將密碼存儲在 mac 長度為 10 的列中。如果您閱讀password_hash function 的文檔,您將看到列長度至少需要 72 個字符。

因此,更改列的最大長度可能會解決您的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM