本篇文章给大家分享的是有关php中如何使用时间缀签名函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
代码:
<?php function get_md5_str($data){ ksort($data); $str = ''; foreach($data as $k=>$v){ $str .= "{$k}={$v}&"; } $md5_str = md5($str); return $md5_str; } function time_valid($data,$valid_str,$expire = 1){ $time = time(); // 1、格式不正确,验证不通过 if(!is_array($data)){ return false; } // 2、时间缀未传,验证不通过 if(!$data['timestamp']){ return false; } // 3、时间缀不在有效范围内,验证不通过 if(($data['timestamp'] < ($time - $expire * 60)) || ($data['timestamp'] > ($time + $expire * 60))){ return false; } ksort($data); $str = ''; foreach($data as $k=>$v){ $str .= "{$k}={$v}&"; } $md5_str = md5($str); // 4、加密字符串不正确,验证不通过 if($valid_str !== $md5_str){ return false; } return true; }
测试:
$arr = array( 'timestamp' => time(), 'title' => '标题', 'name' => '名称' ); $md5_str = get_md5_str($arr); $ret = time_valid($arr,$md5_str); var_dump($ret);
输出:
以上就是php中如何使用时间缀签名函数,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。