PHP base62編碼解碼實現

來源:互聯網
上載者:User

標籤:

 1 <?php 2 /** 3 *    @desc base62編碼解碼實現 4 *    @param String $data 5 *    @author Space 6 *    @date 2014/8/6 7 **/ 8  9 function base62_encode($data){10     $base62str = ‘0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ‘;11     $data = strval($data);12     $base62 = str_split($base62str);13     $len = strlen($data);14     $i = 0;15     $tmpArr = array();16     while($i<$len){17         $val = $data[$i];18         $tmp = str_pad(decbin(ord($data[$i])),8,‘0‘,STR_PAD_LEFT );19         $temp = str_split($tmp,4);20         $tmpArr = array_merge($tmpArr,$temp);21         ++$i;22     }23     $result = ‘‘;24     $i = 0;25     foreach($tmpArr as $arr){26         $temp = bindec($arr)*4+$i%2;27         $result .= $base62[$temp];28         ++$i;29     }30     return $result;31 }32 33 function base62_decode($data){34     $base62str = ‘0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ‘;35     $data = strval($data);36     $base62 = str_split($base62str);37     $base62Arr = array_flip($base62);38     if(!preg_match(‘/[a-zA-Z0-9]+/‘,$data)){39         return false;40     }41     $len = strlen($data);42     $i = 0;43     $tempArr = array();44     while($i<$len){45         $temp = decbin(($base62Arr[$data[$i]]-$i%2)/4);46         $tempArr[] = str_pad($temp,4,‘0‘,STR_PAD_LEFT);47         ++$i;48     }49     $result = ‘‘;50     $tempArr = array_chunk($tempArr,2);51     foreach($tempArr as $arr){52         $result .= chr(bindec(join(‘‘,$arr)));53     }54     return $result;55 }

還可以根據需要$base62str變數中字元隨機排序下,相當於一個簡易的加密,不過意義不大。

PHP base62編碼解碼實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.