//对uid进行加密
function think_encrypt($data, $key = '', $expire = 0) {
$key = md5(empty($key) ? Env::get('CRYPT_KEY') : "");
$data = base64_encode($data);
$x = 0;
$len = strlen($data);
$l = strlen($key);
$char = '';
for ($i &#61; 0; $i <$len; $i&#43;&#43;) {
if ($x &#61;&#61; $l) $x &#61; 0;
$char .&#61; substr($key, $x, 1);
$x&#43;&#43;;
}
$str &#61; sprintf(&#39;%010d&#39;, $expire ? $expire &#43; time():0);
for ($i &#61; 0; $i <$len; $i&#43;&#43;) {
$str .&#61; chr(ord(substr($data, $i, 1)) &#43; (ord(substr($char, $i, 1)))%256);
}
return str_replace(array(&#39;&#43;&#39;,&#39;/&#39;,&#39;&#61;&#39;),array(&#39;-&#39;,&#39;_&#39;,&#39;&#39;),base64_encode($str));
}
//对uid解密
function think_decrypt($data, $key &#61; &#39;&#39;){
$key &#61; $key &#61; md5(empty($key) ? Env::get(&#39;CRYPT_KEY&#39;) : "");
$data &#61; str_replace(array(&#39;-&#39;,&#39;_&#39;),array(&#39;&#43;&#39;,&#39;/&#39;),$data);
$mod4 &#61; strlen($data) % 4;
if ($mod4) {
$data .&#61; substr(&#39;&#61;&#61;&#61;&#61;&#39;, $mod4);
}
$data &#61; base64_decode($data);
$expire &#61; substr($data,0,10);
$data &#61; substr($data,10);
if($expire > 0 && $expire