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

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

Password_verify() 驗證 .txt 哈希字符串輸入問題

Password_verify() 驗證 .txt 哈希字符串輸入問題

PHP
蝴蝶不菲 2022-01-24 09:44:41
我只是試圖從.txt文件中提取散列數據,使用與password_verify()用戶的. 從' 文件中提取的散列輸入和用戶輸入的散列輸入似乎與我從測試中得到的輸出相匹配,但仍然是結果。verifyhashed passwordinput.txtverificationfalsehashed password但是,當我使用 echo 語句將用戶顯示的輸出復制并粘貼到哈希變量$password_test中時,驗證工作并導致true.當散列密碼直接從.txt文件中提取到程序中時,顯然會有所不同問題是。我覺得.txt文件導致password_verify()功能不strings一樣的特殊格式可能與特殊格式有關,但我離題了。任何關于可能發生的事情的信息都會很好。$file = 'users.txt';            // get the form variable        $userId = $_POST['user_signin_Id'];        //$hashedPassword = password_hash($password, PASSWORD_BCRYPT);        $file_lines = file_get_contents($file);        list($name_fromFile, $email_fromFile, $userID_fromFile, $password_fromFile) = explode(':', $file_lines);        $trimmed_hashed_password_fromFile = rtrim($password_fromFile, ":");        $password_test = '$2y$10$aQDNx09.73PjLmY2YgK/NuvInQPk.185vC4exOlZYgA2LiBchK6Xy';        if(trim($userID_fromFile) == $userId && password_verify(trim($_POST['user_signin_password']), $trimmed_hashed_password_fromFile)){            echo 'Logged in'. "<br/>";            echo $trimmed_hashed_password_fromFile . "<br/>";            echo $password_test;        }// end if        else{            //echo crypt($password, $hashedPassword) . "<br/>"; //cryptPassword($password, $password_fromFile) .  "<br/>";            //echo $hashedPassword;            echo  $trimmed_hashed_password_fromFile . "<br/>";            echo $password_test . "<br/>";            echo gettype($trimmed_hashed_password_fromFile) . "<br/>";            echo gettype($password_test) . "<br/>";        }我沒有收到任何錯誤消息向你們展示。PASSWORD_BCRYPT在使用函數中的參數對用戶輸入的密碼進行哈希處理后,我希望結果是真實的,并且從文件password_hash()中將PASSWORD_BCRYPT加密密碼拉入應用程序.txt。
查看完整描述

2 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

為了解決上圖中發現的問題,我更改了以下行:

$trimmed_hashed_password_fromFile = rtrim($password_fromFile, ":");

到:

$trimmed_hashed_password_fromFile = ltrim($password_fromFile);

刪除輸出開頭隱藏的左側空格,而不是嘗試從輸出中刪除任何冒號(因為它們不是問題)


查看完整回答
反對 回復 2022-01-24
?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

使用 var_dump() 函數,我想我找到了罪魁禍首。來自“.txt”文件的散列密碼輸入的開頭有一個空格,直到使用 var_dump() 才成為父級。

http://img1.sycdn.imooc.com//61ee04c1000178af19191077.jpg


查看完整回答
反對 回復 2022-01-24
  • 2 回答
  • 0 關注
  • 155 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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