hash 散列生成目录

/**
  * hash 散列帮助类
  */
 class Helper_Hash
 {
      /**
       * 生成随机的hash字符串
       * @param int $length
       */
     static function setVerifyKey($length = 16)
     {
         // first three characters is capitalize
         $key =  chr(mt_rand(65,90)).chr(mt_rand(65,90)).chr(mt_rand(65,90)); 

         // rest are either 0-9 or a-z
         for($k = 0; $k < $length - 3; $k++)
         {
            $probab = mt_rand(1,16); 

            if($probab <= 11)
            {
                // a-z probability is 80%
                $key .= chr(mt_rand(97,122));
            }
            else
            {
                // 0-9 probability is 20%
                $key .= chr(mt_rand(48, 57));
            }
         }
         return $key;
     }

     /**
      * 根据数字生成一个3层深度的目录路径
      * @param int $keyid
      */
     static function hashDIR($keyid)
     {
        $keyid = abs(intval($keyid));
        $keyid = sprintf("%09d", $keyid);
        $dir1 = substr($keyid, 0, 3);
        $dir2 = substr($keyid, 3, 2);
        $dir3 = substr($keyid, 5, 2);
        return $dir1.'/'.$dir2.'/'.$dir3.'/';
     }
 }



转载于:https://my.oschina.net/frylan/blog/222089

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值