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变量中字符随机排序下,相当于一个简易的加密,不过意义不大。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号