中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      介紹PHP Hash算法

      時(shí)間:2024-10-21 22:26:03 PHP 我要投稿
      • 相關(guān)推薦

      介紹PHP Hash算法

        這篇文章主要介紹了PHP Hash算法:Times33算法代碼實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下

        最近看書,里面提到了一些Hash算法。比較有印象的是Times33,當(dāng)時(shí)理解不是很透測,今天寫了段程序來驗(yàn)證了一下。

        先上代碼:

        復(fù)制代碼 代碼如下:

        /**

        * CRC32 Hash function

        * @param $str

        * @return int

        */

        function hash32($str)

        {

        return crc32($str) >> 16 & 0x7FFFFFFF;

        }

        /**

        * Times33 Hash function

        * @param $str

        * @return int

        */

        function hash33($str)

        {

        $hash = 0;

        for($i=0; $i

        $hash += 33 * $hash + ord($str{$i});

        }

        return $hash & 0x7FFFFFFF;

        }

        $n = 10;

        // Test Case 1

        $stat = array();

        for($i=0; $i<10000; $i++){

        $str = substr(md5(microtime(true)), 0, 8);

        $p = hash32($str) % $n;

        if(isset($stat[$p])){

        $stat[$p]++;

        }else{

        $stat[$p] = 1;

        }

        }

        print_r($stat);

        // Test Case 2

        $stat = array();

        for($i=0; $i<10000; $i++){

        $str = substr(md5(microtime(true)), 0, 8);

        $p = hash33($str) % $n;

        if(isset($stat[$p])){

        $stat[$p]++;

        }else{

        $stat[$p] = 1;

        }

        }

        print_r($stat);

        以上有兩個(gè)測試用例。第一個(gè),用CRC32的方法;第二個(gè)是Times33的算法實(shí)現(xiàn)。

        效果:

        結(jié)果分布,兩種算法不相上下(估計(jì)是數(shù)據(jù)源的問題,md5只有0-f)。也有文章說CRC32的分布更均勻(參考鏈接:)

        但耗費(fèi)時(shí)間,CRC32比Times33快將近一倍。

        為什么是33?

        即是素?cái)?shù)(質(zhì)數(shù)),也是奇數(shù)。除了33,還有131, 1313, 5381等。PHP內(nèi)置的Hash函數(shù)用的是5381,在“鳥哥”的一篇博文中也有提到。

      【介紹PHP Hash算法】相關(guān)文章:

      簡單介紹php構(gòu)造函數(shù)用法08-31

      精選php面試自我介紹范文14篇08-29

      Smarty (PHP模板引擎)知識點(diǎn)介紹06-12

      關(guān)于php面試寶典及PHP面試技巧08-16

      簡單分析PHP中序列化用法介紹08-15

      PHP的壓縮函數(shù)06-21

      php高級教程01-23

      如何學(xué)好PHP知識09-20

       PHP的基礎(chǔ)編程與應(yīng)用10-16

      淺析php函數(shù)的實(shí)例06-08

      主站蜘蛛池模板: 安平县| 免费福利视频二区三区| 男女视频在线一区二区| 国产强伦姧在线观看| 久久精品国产亚洲AV香蕉吃奶| 熟女一区二区三区视频| 日本区一区二在线免费观看| 国产午夜av一区二区三区| 极品诱惑一区二区三区| 巧家县| 亚洲国产欧美久久香综合| 人人爽亚洲aⅴ人人爽av人人片| 日本经典中文字幕人妻| 久久精品国产72国产精福利| 平顺县| 清河县| 国产品精品久久久久中文 | 69搡老女人老妇女老熟妇| 色偷偷亚洲第一综合网| 素人系列免费在线观看| 日本一区二区三区中文字幕最新| 衢州市| 汉沽区| 国产成人精品cao在线| 宁化县| 容城县| 亚洲av网一区天堂福利| 亚洲va精品va国产va| 国产精品国三级国产av| 亚洲av套图一区二区| 国产色婷婷亚洲99精品| 老熟女一区二区免费| 国产成人综合久久精品推荐免费| 蜜桃视频在线免费观看一区二区| 97av在线播放| av永久天堂一区二区三区蜜桃| 在线观看黄片在线播放视频| 久久99亚洲网美利坚合众国| 久久亚洲中文字幕视频| 久久99中文字幕久久| 亚洲一区二区在线视频播放|