經驗法則為:
陣列函數參數的順序為 「needle, haystack」,字串函數則相反,順序為 「haystack, needle」。
當使用 password_hash()
或者 crypt()
函數時, 「鹽」會被作為生成的 hash 值的一部分回傳。
你可以直接把完整的回傳值儲存到資料庫中,因為這個回傳值中已經包含了足夠的信息, 可以直接用在 password_verify()
或 crypt()
函數來進行密碼驗證。
下圖展示了 crypt()
或 password_hash()
函數回傳值的結構。 如你所見,演算法的資訊以及「鹽」都已經包含在回傳值中,在後續的密碼驗證中將會用到這些資訊。
<pre>
<?php echo "This should be the first line."; ?>
<?php echo "This should show up after the new line above."; ?>
</pre>
在 PHP 中,一段程式碼的結束標記,要嘛是?>
,要嘛是?>\n
(\n 表示換行)。因此在上面的例子中,輸出的句子將顯示在同一行中,因為 PHP 忽略了程式碼結束標記後面的換行。這意味著如果要輸出一個換行符號,需要在每段 PHP 程式碼的結束標記後面多加一個換行。
PHP 為什麽這麽做呢?因為在格式化正常的 HTML 時,這樣通常會更容易。假如輸出了換行而你不需要這個換行時,就不得不用一個非常長的行來達到這樣的效果,或者讓產生的 HTML 頁面的源文件的格式很難讀。