您好,登錄后才能下訂單哦!
這篇文章主要介紹PHP如何隨機(jī)生成唯一HASH值自定義函數(shù),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
網(wǎng)上有很多種方法獲取隨機(jī)唯一的HASH值,但是大同小異:
1、先獲取隨機(jī)的唯一字符串
2、進(jìn)行MD5或者sha1算HASH值
一個(gè)項(xiàng)目要用到hash值,就去網(wǎng)上找了找,卻發(fā)現(xiàn)PHP有一個(gè)函數(shù)能直接生成唯一字符串——uniqid(),通過使用這個(gè)函數(shù),再加上自己生成的隨機(jī)數(shù)(防止被破解),更具有唯一性且不易被猜解。主要考慮問題如下:
1、隨機(jī)的效率與隨機(jī)性:rand和mt_rand函數(shù)的選擇,首選mt_rand,效率高,隨機(jī)性好;
2、隨機(jī)次數(shù):選擇5次,本來unniqid就是唯一的,加上隨機(jī)的可以只是增強(qiáng)安全性,5次足矣
3、md5還是sha1:都能生成唯一的hash值,sha1占用資源可能高點(diǎn),但是微乎其微,如果考慮數(shù)據(jù)庫存儲(chǔ)的小寫,可以使用md5(32位長度)
<?php function get_hash(){ $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-'; $random = $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)];//Random 5 times $content = uniqid().$random; // 類似 5443e09c27bf4aB4uT return sha1($content); } echo get_hash(); ?>
以上是“PHP如何隨機(jī)生成唯一HASH值自定義函數(shù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。