/**
* 具有时间校验的AES加密
* @param string $string 要处理的字符串
* @param int $timeout 超时时间,单位秒
* @param string $type 处理类型,默认是加密
* @return string 返回字符串
*/
public function AES($str, $timeout = null, $type = 'dec')
{
$key = 'xfstu';
$time = time();
if ($type == 'enc') {
if ($timeout) {
$str = '1' . ($timeout + $time) . $str;
} else {
$str = '0' . $time . $str;
}
return str_replace('=', '', base64_encode(openssl_encrypt($str, 'AES-128-ECB', $key)));
}
$str = openssl_decrypt(base64_decode($str), 'AES-128-ECB', $key);
$type = substr($str, 0, 1);
if ($type == '1') {
if (substr($str, 1, 10) - time() <= 0) {
return null;
}
return substr($str, 11);
}
return substr($str, 11);
}