// +---------------------------------------------------------------------- namespace Think; class Crypt { /** * 加密字符串 * @access public * @param string $str 字符串 * @param string $key 加密key * @return string */ static public function encrypt($data,$key,$expire=0){ $key = md5($key); $data = base64_encode($data); $x = 0; $len = strlen($data); $l = strlen($key); $char = ''; for ($i = 0; $i< $len; $i++) { if ($x == $l) $x = 0; $char .=substr($key, $x, 1); $x++; } $str = sprintf('%010d', $expire ? $expire + time() : 0); for ($i=0; $i< $len; $i++) { $str .= chr(ord(substr($data, $i, 1)) + (ord(substr($char, $i, 1))) % 256); } return str_replace('=', '', base64_encode($str)); } /** * 解密字符串 * @access public * @param string $str 字符串 * @param string $key 加密key * @return string */ static public function decrypt($data,$key){ $key = md5($key); $x = 0; $data = base64_decode($data); $expire = substr($data,0,10); $data = substr($data,10); if($expire > 0 && $expire