国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

PHP隨機(jī)生成唯一HASH值自定義函數(shù)

2024-05-04 23:34:31
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章主要介紹了PHP隨機(jī)生成唯一HASH值自定義函數(shù),本文先是給出了需求,然后給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下

網(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(),通過(guò)使用這個(gè)函數(shù),再加上自己生成的隨機(jī)數(shù)(防止被破解),更具有唯一性且不易被猜解。主要考慮問(wèn)題如下:

1、隨機(jī)的效率與隨機(jī)性:rand和mt_rand函數(shù)的選擇,首選mt_rand,效率高,隨機(jī)性好;

2、隨機(jī)次數(shù):選擇5次,本來(lái)unniqid就是唯一的,加上隨機(jī)的可以只是增強(qiáng)安全性,5次足矣

3、md5還是sha1:都能生成唯一的hash值,sha1占用資源可能高點(diǎn),但是微乎其微,如果考慮數(shù)據(jù)庫(kù)存儲(chǔ)的小寫(xiě),可以使用md5(32位長(zhǎng)度)

 

 
  1. <?php 
  2. function get_hash(){ 
  3. $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-'
  4. $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 
  5. $content = uniqid().$random// 類(lèi)似 5443e09c27bf4aB4uT 
  6. return sha1($content);  
  7. echo get_hash(); 
  8. ?> 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 长岛县| 遂川县| 常宁市| 桃源县| 巫溪县| 响水县| 石渠县| 和龙市| 绥棱县| 岑巩县| 准格尔旗| 吴堡县| 昔阳县| 栖霞市| 金阳县| 陆河县| 灵川县| 青海省| 固原市| 清涧县| 二手房| 宜宾市| 颍上县| 裕民县| 兴城市| 鄢陵县| 岫岩| 普兰店市| 澄迈县| 周至县| 潞西市| 蒲江县| 商城县| 沁水县| 鲁甸县| 彭州市| 年辖:市辖区| 曲水县| 仲巴县| 宽城| 调兵山市|