首頁| 新聞| 娛樂| 游戲| 科普| 文學| 編程| 系統| 數據庫| 建站| 學院| 產品| 網管| 維修| 辦公| 熱點
這篇文章主要介紹了PHP隨機生成唯一HASH值自定義函數,本文先是給出了需求,然后給出了實現代碼,需要的朋友可以參考下
網上有很多種方法獲取隨機唯一的HASH值,但是大同小異:
1、先獲取隨機的唯一字符串
2、進行MD5或者sha1算HASH值
一個項目要用到hash值,就去網上找了找,卻發現PHP有一個函數能直接生成唯一字符串——uniqid(),通過使用這個函數,再加上自己生成的隨機數(防止被破解),更具有唯一性且不易被猜解。主要考慮問題如下:
1、隨機的效率與隨機性:rand和mt_rand函數的選擇,首選mt_rand,效率高,隨機性好;
2、隨機次數:選擇5次,本來unniqid就是唯一的,加上隨機的可以只是增強安全性,5次足矣
3、md5還是sha1:都能生成唯一的hash值,sha1占用資源可能高點,但是微乎其微,如果考慮數據庫存儲的小寫,可以使用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(); ?>
Intel工程樣品CPU的識別方法
圖解CMOS路線和硬盤光驅跳線的
硬盤分區如何設置準確的分區空間
回眸一笑百魅生,六宮粉黛無顏色
歲月靜美,剪一影煙雨江南
蕪湖有個“松鼠小鎮”
小滿:小得盈滿,一切剛剛好!
一串串晶瑩剔透的葡萄,像一顆顆寶石掛在藤
正宗老北京脆皮烤鴨
人逢知己千杯少,喝酒搞笑圖集
搞笑試卷,學生惡搞答題
新聞熱點
疑難解答
圖片精選
擴展你的 PHP 之入門篇
特轉載一高手總結PHP學習資源和鏈
網友關注