PHP token验证生成原理实例分析


Posted in PHP onJune 05, 2019

本文实例讲述了PHP token验证生成原理。分享给大家供大家参考,具体如下:

<?php
/**
 * @Author: Ding Jianlong
 * @Date:  2019-03-20 00:38:01
 * @Last Modified by:  Ding Jianlong
 * @Last Modified time: 2019-03-22 17:50:59
 */
//生成发送请求的验证 token
//这里的key可以是包含用户信息的内容,不用用户+不同的权限
function makeToken($key){
 //100秒内有效,不变,时间根据实际需要调整。第三方登录授权15天。
 return $token = md5($key.sha1(substr(time(),3,7)));
}
//后台同理验证,
function checkToken($key,$token){
 $true = md5($key.sha1(substr(time(),3,7)));
 if($token == $true){
 return true;  //token正确
 }else{
 return false;
 }
}
$key = 'https://github.com/idjl/';
echo $t = makeToken($key);
var_dump(checkToken($key,'259521122'));
var_dump(checkToken($key,$t));
var_dump(checkToken($key,'259521122'));

运行结果:

e4ce1a6c66246eee048f11a540bf197ebool(false)
bool(true)
bool(false)

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 检查扩展库或函数是否可用的代码
Apr 06 PHP
Php Image Resize图片大小调整的函数代码
Jan 17 PHP
PHP中ini_set与ini_get用法实例
Nov 04 PHP
php使用ob_flush不能每隔一秒输出原理分析
Jun 02 PHP
Yii框架中jquery表单验证插件用法示例
Oct 18 PHP
超强多功能php绿色集成环境详解
Jan 25 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
Smarty模板变量与调节器实例详解
Jul 20 PHP
Laravel第三方包报class not found的解决方法
Oct 13 PHP
PHP实现简单的计算器
Aug 28 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
Jun 05 #PHP
PHP 数组黑名单/白名单实例代码详解
Jun 04 #PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
Jun 03 #PHP
PHP使用CURL实现下载文件功能示例
Jun 03 #PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
Jun 03 #PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
Jun 03 #PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
Jun 03 #PHP
You might like
ThinkPHP中where()使用方法详解
2016/04/19 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
2019/03/18 PHP
JavaScript中的其他对象
2008/01/16 Javascript
jquery 弹出登录窗口实现代码
2009/12/24 Javascript
jquery的ajax请求全面了解
2013/03/20 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
angularjs $http实现form表单提交示例
2017/06/09 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
React中的render何时执行过程
2018/04/13 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
[43:57]LGD vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python的id()函数介绍
2013/02/10 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
python 装饰器的实际作用有哪些
2020/09/07 Python
python Paramiko使用示例
2020/09/21 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
美德少年事迹材料
2014/01/23 职场文书
保护环境的建议书
2014/03/12 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
运动员入场前导词
2015/07/20 职场文书
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang