您好,登錄后才能下訂單哦!
PHP中有哪些常見的加密函數?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1.crypt()函數
crypt()
函數用于返回使用DES、Blowfish或MD5算法加密過后的字符串,crypt(str,salt)接受2個參數,第1個為需要加密的字符串,第2個為鹽值(加密干擾值,如果沒有提供,則默認由PHP自動生成),返回的字符串為散列的字符串或者是一個少于13個字符的字符串;
<?php //使用crypt()函數進行加密 $password = 'yisu.com'; //沒有提供鹽值 echo "加密前:".$password; echo "加密后(無鹽值):".crypt($password); echo "<hr>"; //提供鹽值 $salt = "good"; echo "加密后(有鹽值):".crypt($password,$salt); ?>
總結:通過刷新前與刷新后可以發現,crypt()
函數如果沒有鹽值加密后的字符串的第2個$與第3個$之間的字符串的8個字符串是由PHP自動生成的,每刷新一次就變一次;crypt()
函數如果定義了鹽值后,只會截取鹽值的前2位添加在加密后的字符串前且加密后的字符串是不變的。
注意:crypt()
函數是一種單向算法,沒有相應的解密函數。PHP添加鹽值默認使用DES加密,如果salt這個字符串以$1$開頭,以$結尾則是MD5加密,只會截取鹽值的前八位添加在加密后的字符串前。
2.md5()函數
MD5函數格式:md5(string)
,返回一個32位的字符串,且MD5加密對于大小寫敏感;MD5加密主要應用在校驗網站用戶密碼上,用戶注冊時的密碼經過MD5計算后存入數據庫,當用戶登錄時,再把用戶輸入的密碼經過MD5計算后與數據庫中經過MD5加密的字符串進行比較。
<?php //使用md5()函數進行加密 $password = 'yisu.com'; echo "加密前:".$password; echo "<hr>"; echo "MD5加密后:".md5($password); ?>
關于PHP中有哪些常見的加密函數問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。