分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

php时间缀签名函数

发布时间:2023-09-06 02:27责任编辑:熊小新关键词:暂无标签
  • 代码:
    <?php/** 生成md5加密字符串* @author lee* @param 需要进行验证的参数* @return md5_str 生成的md5加密字符串*/function get_md5_str($data){ksort($data);$str = ‘‘;foreach($data as $k=>$v){ ???$str .= "{$k}={$v}&";}$md5_str = md5($str);return $md5_str;}/** 时间缀验签名验证* @author lee* @param data 需要验证的参数* @param valid_str md5加密字符串* @param expire 过期时间,默认1分钟* @return bool true,通过验证;false,验证失败*/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时间缀签名函数

    原文地址:http://blog.51cto.com/12173069/2336228

    知识推荐

    我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
    icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved