亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 php hash 和 salt 登錄時密碼錯誤

使用 php hash 和 salt 登錄時密碼錯誤

C#
犯罪嫌疑人X 2023-08-13 13:53:18
我正在做一個項目,您可以在其中創建一個帳戶,使用 php 和 mysql 服務器登錄并統一保存用戶數據。我完成了所有注冊過程并且有效,但我無法登錄。我是按照 boardtobits 教程來做的。經過一些研究,我發現創建帳戶時生成的哈希值和登錄哈希值不同,但為什么呢?PHP 代碼 - (用于登錄)<?php $user = 'root'; $password = 'root'; $db = 'hostalvillegadata'; $host = 'localhost'; $port = 8889; $link = mysqli_init(); $success = mysqli_real_connect( $link,  $host,  $user,  $password,  $db, $port);//check that connection happenedif (mysqli_connect_errno()) {echo "1: Connection failed"; //error code #1 = connection failedexit();}$username = $_POST["name"];$password = $_POST["password"];//check if name exists$namecheckquery = "SELECT username, salt, hash, habitacionesreservadas FROM hostalvillegatable WHERE username='" .$username. "';";$namecheck = mysqli_query($link, $namecheckquery) or die("2: Name check query failed"); // error code #2 - name check query failedif (mysqli_num_rows($namecheck) != 1 ) { echo "5: No user with name, or more than one"; //error code #5 - number  of names matching != 1 exit(); } //get login info from query $existinginfo = mysqli_fetch_assoc($namecheck); $salt = $existinginfo["salt"]; $hash = $existinginfo["hash"]; $loginhash = crypt($password, $salt);  if ($hash != $loginhash)   {    echo "6: Incorrect password"; //error code #6 - password does not     hash to match table    exit();   }    echo "0\t" . $existinginfo["habitacionesreservadas"];   ?>
查看完整描述

1 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

這條線

$existinginfo = msqli_fetch_assoc($namecheck);

必須是

$existinginfo = mysqli_fetch_assoc($namecheck);


查看完整回答
反對 回復 2023-08-13
  • 1 回答
  • 0 關注
  • 159 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號