PHP 使用AES加密,并扩展失效时间检测
/** * 具有时间校验的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); }
本文来自博客园,作者:小枫同学,除网络转载的部分,其他版权属于作者和博客园所有,未经作者或博客园许可,禁止转载、复制、重新发布完整或者部分文字、代码、图片等信息,否则将保留追究法律责任的权利(如博客侵权了您的作品,本人再次表示抱歉,请将原创地址发送至下文邮箱,核实后立刻删除。)。查阅文章的同学,由于网络爬虫严重,有些代码并不会完整贴出来或者存在bug,不过你可以发送邮件到xfstune@126.com获取新代码,记得附上文章链接