第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何使用密碼散列和PDO使我的代碼更安全?

如何使用密碼散列和PDO使我的代碼更安全?

狐的傳說 2019-07-04 17:47:16
如何使用密碼散列和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中。

檢索用戶記錄時,可以將從提供的密碼計算出來的哈希與存儲在DB中的哈希進行比較。

例子:

$HashedPass = hash('sha512', $password);

或者用預定義的鹽:

$HashedPass = hash('sha512', $password.SALT_STRING);

和之前一樣,將其存儲到DB中。

以類似方式認證:

$HashedPass = hash('sha512', $password.SALT_STRING);

然后根據(jù)與存儲的哈希比較從DB檢索。

現(xiàn)在,我想談談您對散列算法的關注:您不必使用MD5,您還可以使用更安全的散列算法,請參閱下面的注釋:PHP散列函數(shù)一個建議是使用Sha 512算法。

最重要的是,您應該理解哈希是一個單程轉(zhuǎn)換-沒有實用的方法來從哈希單獨反向工程原來的密碼,可能只是找到替代字符串,這會產(chǎn)生相同的哈希字符串。

我希望您發(fā)現(xiàn)使用強大的哈希算法,連同一個鹽,以減輕被竊取的哈希數(shù)據(jù)庫的損害,足以滿足您的需要。


查看完整回答
反對 回復 2019-07-04
  • 3 回答
  • 0 關注
  • 790 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號