<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 介紹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模板引擎)知識(shí)點(diǎn)介紹06-12

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

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

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

    php高級教程01-23

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

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

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

    主站蜘蛛池模板: 久久精品人人槡人妻人人玩AV | 97精品国产手机| 国产线视频精品免费观看视频| 久久精品国产亚洲av麻豆小说 | 欧美亚洲国产精品第一页| 无码人妻丰满熟妇精品区| 精品久久久久一区二区三区| 国产a精品视频| 国内精品免费视频精选在线观看| 真实国产乱子伦精品免费| 久久亚洲中文字幕精品有坂深雪| 鲸鱼传媒绿头鱼实验室之炮机测评日韩精品一级毛 | 四虎成人精品免费影院| 8x福利精品第一导航| 久久99国内精品自在现线| 亚洲日韩精品一区二区三区无码| 欧美日韩精品久久久久| 久久精品成人欧美大片| 国产精品美女网站| 四虎精品成人免费观看| 国产精品福利自产拍在线观看| 无码少妇精品一区二区免费动态| 亚洲精品国产高清嫩草影院| 精品视频一区二区三区四区五区| 98香蕉草草视频在线精品看| 日韩麻豆国产精品欧美| 欧美精品亚洲精品日韩| 老司机国内精品久久久久| 欧美久久精品一级c片片| 日韩精品在线观看视频| 91精品国产自产在线老师啪| 午夜精品美女自拍福到在线| 青青青国产精品国产精品久久久久| 久久国产精品久久国产精品| 久久免费精品视频| 99久久精品免费看国产免费| 日韩精品成人一区二区三区| 一区二区三区日韩精品| 国产成人精品午夜福麻豆| 精品国产福利盛宴在线观看| 久久精品女人天堂AV麻|