我有一個php的問題,我正在編程一個php文件,以便通過printf顯示與數據庫相關的encrypted_password數據。我要挑值並在屏幕上顯示出來,但不工作,我已經這樣做了:通過屏幕通過printf在mysqli中用php加密的數據顯示
$query = "SELECT * FROM `users` WHERE `email` = '$email' ORDER BY `users`.`uid` ASC LIMIT 0 , 30";
$result = $con->query($query); $row = $result->fetch_array(MYSQLI_ASSOC);
printf ("consulta %s nombre: %s email:(%s) salt: %s y pass: $s\n", $query,$row['name'], $row['email'],$row['salt'],base64_encode($row['encrypted_password']));
和printf顯示:
CONSULTA SELECT * FROM users
WHERE email
=「elvega3009 @ msn.com'ORDER BY users
。 uid
ASC LIMIT 0,30 NOMBRE:XXXX電子郵件:([email protected])鹽:a3f7734b0eÿ通:
的通字段不通過絲網顯示,該數據是在編碼BASE64_ENCODE在數據庫中,我不知道這是否是問題,但我需要通過屏幕顯示此數據。 我需要幫助。非常感謝提前
如果跳過base64_encode函數會發生什麼?你看到「Pass:」字段中的值嗎?你嘗試var_dump(base64_encode($ row ['encrypted_password']))?.要小心,base64_encode是一個編碼模式,它可以輕鬆推導出來。對於密碼,您需要加密機制(散列函數),如md5 o sha。請參閱http://stackoverflow.com/questions/3993937/which-is-best-encryption-method-base-64-or-md5 –