如何使用密碼散列和PDO使我的代碼更安全?我的代碼實際上正在工作,但它根本不安全,我不想使用MD5,因為它并不那么安全。我一直在查找密碼哈希,但我不知道如何將它合并到我的代碼中。登錄:require_once __DIR__.'/config.php';session_start();$dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_USERNAME, DB_USERNAME, DB_PASSWORD);$sql = "SELECT * FROM users WHERE username = :u AND password = :p";$query = $dbh->prepare($sql); // prepare$params = array(":u" => $_POST['username'], ":p" => $_POST['password']);$query->execute($params); // execute$results = $query->fetchAll(); // then fetch//hash passwords plsif (count($results) > 0 ){$firstrow = $results[0];$_SESSION['username'] = $firstrow['username'];echo "Hello $username you have successfully logged in";//header ("location:.php");}else{echo "Login Has Failed";return;} 登記冊:$dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_USERNAME, DB_USERNAME, DB_PASSWORD);$username = $_POST["username"];$email = $_POST["email"];$password = $_POST["password"];$stmt = $dbh->prepare("insert into users set username='".$username."', email='".$email."', password='".$password."' ");$stmt->execute();echo "<p>Thank you, you are registered</p>";有人能告訴我如何將它合并到我的代碼中嗎?
3 回答

繁星淼淼
TA貢獻1775條經(jīng)驗 獲得超11個贊
使用您選擇的哈希算法存儲注冊用戶密碼的哈希(稍后將詳細介紹)。 創(chuàng)建一個隨機鹽(一個常量、秘密字符串),與用戶的密碼一起使用,如上面所述,創(chuàng)建哈希,然后將該哈希存儲在DB中。
$HashedPass = hash('sha512', $password);
$HashedPass = hash('sha512', $password.SALT_STRING);
$HashedPass = hash('sha512', $password.SALT_STRING);
添加回答
舉報
0/150
提交
取消