雜湊(Hash)是將目標文本轉換成具有相同長度的、無法復原的雜湊字串(或叫做訊息摘要),而加密(Encrypt)是將目標文本轉換成具有不同長度的、可逆的密文。這篇文章主要介紹了php常用hash加密函數,以執行個體形式詳細分析了PHP的hash加密函數用法,代碼中備有詳盡的注釋,便於理解,需要的朋友可以參考下,具體分析如下:
$hash_list=hash_algos(); //返回註冊的hash規則列表print_r($hash_list); //顯示結果
建立檔案以計算雜湊值:file_put_contents('example.txt', 'the quick brown fox jumped over the lazy dog.');
輸出雜湊值資訊:
echo hash_file('md5', 'example.txt'); $str="the quick brown fox jumped over the lazy dog."; //定義字串 echo hash('ripemd160',$str); //產生雜湊值 $ctx=hash_init('md5'); //初始化一個hash值 hash_update($ctx,'the quick brown fox'); //向雜湊值灌注資料 hash_update($ctx,'jumped over the lazy dog.'); //向雜湊值灌注資料 echo hash_final($ctx); //輸出最後的結果 $str="the quick brown fox jumped over the lazy dog."; //定義字串 $fp=tmpfile(); //建立一個臨時檔案 fwrite($fp,$str); //將字串寫入到臨時檔案 rewind($fp); //倒迴文件指標的位置 $ctx=hash_init('md5'); //初始化一個hash值 hash_update_stream($ctx,$fp); //向資料流中灌注資料 echo hash_final($ctx); //輸出結果 $str="the quick brown fox jumped over the lazy dog."; //定義字串 echo hash_hmac('ripemd160',$str,'secret'); //產生包含密鑰的hash值 /*建立一個檔案並將字串寫入其中*/ $file="example.txt"; //定義檔案名稱 $str=" the quick brown fox jumped over the lazy dog."; //定義字串 file_put_contents($file,$str); //向檔案中寫入字串 echo hash_hmac_file('md5',$file,'secret'); //產生一個包含密鑰的hash值 $ctx=hash_init('sha1'); //定義字串 hash_update($ctx,'the quick brown fox jumped over the lazy dog.'); //向雜湊值中灌注資料 echo hash_final($ctx); //輸出結果