本篇文章向大家介紹PHP的Hash信息摘要擴展框架,有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
今天我們主要學習的是 PHP 中一些 Hash 散列加密相關的擴展函數的使用,而不是 Hash 算法,這種加密其實也只是一種更復雜一些的密鑰算法,與 Hash 算法類似的是,我們輸入的一串字符串,就像一個 Hash 表一樣有其對應的 Hash 散列值,本質上和普通的數據結構中的 Hash 鍵值映射是一個道理,只是其算法更復雜一些。其實只要做過一段時間的 PHP 開發,一定會對兩個函數很熟悉,它們就是 md5() 和 sha1() 。這兩個函數就是分別生成 md5 和 sha1 算法的 Hash 加密。不過,今天我們學習的相比這兩個函數更加的復雜一些,算法形式也更豐富一些。
什么是 Hash 信息摘要算法
通常,我們將一段內容輸入一個 Hash 函數后,返回的一串散列字符串就是這個輸入值的 Hash 信息摘要。在 PHP 中,不管是 md5 還是 sha1 ,同樣的輸入會產生同樣的結果。由此,如果在保存用戶密碼類的信息時,我們盡量不要只使用一層 Hash ,因為這種形式的加密是可以通過彩虹表暴力破解出來的。我們可以對密碼進行多層 Hash 并加鹽來實現散列值的復雜化。
當然,Hash 算法并不止我們常用的 md5 和 sha1 ,還有很多其它類型的算法,只是我們并不常用。但是,今天介紹的函數正是可以進行多種不同類型的 Hash 加密的一組函數,它們已經在 PHP 中集成到了默認環境中,我們并不需要單獨的擴展就可以使用,這樣,就為我們的加密數據多樣化帶來了