首頁  >  文章  >  後端開發  >  PHP如何產生隨機字串?使用哈希函數

PHP如何產生隨機字串?使用哈希函數

青灯夜游
青灯夜游原創
2018-12-25 17:53:244960瀏覽

PHP如何產生隨機字串?這篇文章就跟大家介紹PHP使用rand()函數 雜湊函數產生隨機字串的方法,以下就開始具體內容,希望對大家有幫助。

PHP如何產生隨機字串?使用哈希函數

在PHP中有一些函數,如md5(),sha1()和hash(),可用來根據某些演算法對字串進行雜湊(Hash )處理。哈希函數可以將字串作為參數,然後傳回一個雜湊字串。

首先我們透過一個簡單的是來看看rand()函數 雜湊函數如何產生隨機字串。

<?php 
header("content-type:text/html;charset=utf-8"); 
echo "PHP生成随机字符串:<br><br>";
$str=rand(); 
$md5=md5($str); 
$sha1=sha1($str);
$hash=hash(&#39;gost&#39;,$str);

echo "md5()函数:<br>"; 
echo $md5; 
echo "<br><br>"; 

echo "sha1()函数<br>"; 
echo $sha1; 
echo "<br><br>"; 

echo "hash()函数<br>"; 
echo $hash; 
echo "<br><br>"; 
?>

效果圖:

PHP如何產生隨機字串?使用哈希函數

當我們不斷刷新頁面,則輸出的字串是不同的,動態效果:

PHP如何產生隨機字串?使用哈希函數

下面我們來介紹一下使用到的php函數。

rand()函數:可以隨機產生一個整數,它可以同時接受兩個參數(min,max)用來限制隨機的範圍。

md5()函數:對string參數進行MD5演算法的處理,傳回一個MD5 雜湊。它有兩個參數,分別為

$string參數:必需值,需要計算的字串。

$raw參數:可選值,定義輸出格式,可能有的值為:TRUE--輸出原始 16 字元二進位格式;FALSE--輸出32 字元十六進位數,預設值。

sha1()函數:對string參數進行美國 Secure Hash 演算法 1處理,傳回一個SHA-1 雜湊。

它同樣有兩個參數(參考md5()函數,$raw參數的TRUE值輸出原始20 字元二進位格式,FALSE值輸出40 字元十六進位數)

#hash()函數:對string參數進行特徵的演算法處理,傳回一個雜湊字串。

它最多需要三個參數,如下所示:

$algo參數:必要值,定義需要使用雜湊演算法。 PHP共有46個註冊雜湊演算法,其中“sha1”,“sha256”,“md5”,“haval160,4”是最受歡迎的演算法。

$string參數:必要值,定義需要進行雜湊處理的字串。

$getRawOutput參數:可選參數,定義輸出格式。 TRUE值,表示函數以原始二進位格式傳回雜湊值;FALSE值,表示函數以小寫十六進位字元序列傳回雜湊值。

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

以上是PHP如何產生隨機字串?使用哈希函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn