Cocos2dx网络(二)Token生成

Token,证书。对HTTP连接而言,主要作用是区分此次请求是哪次(哪天)登录后的。所以它必备以下几点:

  1. 唯一性。不同用户的每次登录都要有唯一的Token。
  2. 有效时间。超过这个时间这个Token就失效。
  3. 开始时间。没这个没法检测是否失效

基于上面三点,编写了一个简单的Token生成、验证:

 1 import time
 2 import base64
 3
 4 class Token:
 5     #playerid可换成自己的字符串,确保每个用户都不同
 6     def getToken(self, playid, delaytime):
 7         curTime = int(time.time())
 8         #组合生成方式可自己相应修改
 9         mystr = str(playid)+‘$‘+str(curTime)+‘$‘+str(delaytime)
10         token = base64.encodestring(mystr).strip()
11         return token
12
13     #检查时间判断是否失效
14     def isTokenValible(self, token):
15         base64text = base64.decodestring(token)
16         strlist = base64text.split(‘$‘)
17         curTime = int(time.time())
18         startTime = int(strlist[1])
19         if curTime - startTime > int(strlist[2]):
20             return False
21         else:
22             return True
时间: 2024-10-23 22:01:08

Cocos2dx网络(二)Token生成的相关文章

Cocos2d-x 系列二之C语言

1.宏定义<1>.常量定义 #define MATH_PI 3.14 void defineH() { // 宏在编译阶段就把宏对应的常量给替换了,所以很快: printf("%f", MATH_PI); } <2>.方法定义 // 定义宏方法,宏方法没有具体的返回类型:当多行的时候,在后面添加一个反斜杠: #define MAX(A,B) {\ A>B?A:B } 调用:MAX(12,30): 2.结构体<1>.结构体定义 struct Pe

【独立开发者er Cocos2d-x实战 013】Cocos2dx 网络编程实战之星座运势

本篇文章主要内容:jsoncpp的使用,Cocos2dx网络编程,聚合数据星座运势接口使用. 1.jsoncpp使用: jsoncpp的生成请参考博客:Jsoncpp使用详解以及链接问题解决 2.聚合数据星座运势接口使用: 我们先登上聚合数据官网,申请相关的数据后,就可以得到APPKEY等信息,调试如下: 3.Cocos2dx网络编程:源码下载请点击(源码中包括jsoncpp文件) #include "HelloWorldScene.h" #include "CocoStud

【独立开发人员er Cocos2d-x实战 013】Cocos2dx 网络编程实战之星座运势

学习cocos2d-x和cocos creator的圈子:cocos2d-x:436689827    cocos creator:124727696 本篇文章主要内容:jsoncpp的使用,Cocos2dx网络编程,聚合数据星座运势接口使用. 1.jsoncpp使用: jsoncpp的生成请參考博客:Jsoncpp使用具体解释以及链接问题解决 2.聚合数据星座运势接口使用: 我们先登上聚合数据官网.申请相关的数据后,就能够得到APPKEY等信息,调试例如以下: 3.Cocos2dx网络编程:源

cocos2d-x网络编程 连接php服务器笔记1

学习cocos2d-x网络编程是一个非常尴尬的问题,因为熟悉cocos2d-x的学习者基本在游戏开发一块属于客户端编程,想自学网络编程必不可少的牵扯到服务器这块.但是问题是,谁会呢?离开服务器,那搞网络编程无疑就是海市蜃楼镜花水月.官网示例虽然有http短连接和socket长连接的例子但反正我看了之后不知所以,不明白怎么把它用在实际问题中.网上教程也大都是泛泛而谈,不是一些人尽皆知的大道理就是部分不能运行的源码,根本就没有从零教你怎么实现的文章.手游服务器用的技术我们不大可能很了解,据说长连接的

Keystone几种token生成的方式分析

从Keystone的配置文件中,我们可见,Token的提供者目前支持四种. Token Provider:UUID, PKI, PKIZ, or Fernet 结合源码及官方文档,我们用一个表格来阐述一下它们之间的差异. 接下去,从源码上来进一步分析流程. (1)首先,uuid,这种方式较简单,没有特别的加密.编码流程,核心的生成过程,即 uuid.uuid4().hex,生成一串友好的序列. (2)PKI的流程,首先需要使用 keystone-manage pki_setup命令生成CA及相关

cocos2dx 网络编程(CCHttpRequest和CURL两个方式)

转自:http://blog.csdn.net/sg619262284/article/details/20144087 在使用之前需要设置一些参数:参考:http://blog.csdn.net/wangbin_jxust/article/details/9632771 在完成上面的操作后,还需要在链接器的输入里面添加一个参数pthreadVCE2.lib: 使用CCHttpRequest方法实现:(异步连接) void HallView::Qudian(){ //网络异步连接方法 cocos

Django-jwt token生成源码分析

一. 认证的发展历程简介 这里真的很简单的提一下认证的发展历程.以前大都是采用cookie.session的形式来进行客户端的认证,带来的结果就是在数据库上大量存储session导致数据库压力增大,大致流程如下: 在该场景下,分布式.集群.缓存数据库应运而生,认证的过程大致如下: 不过该方式还是缓解不了数据库压力,一个项目中应该尽可能多的减少IO操作,于是后来采用签名的方式,在服务端只保存token的签名算法,当客户端认证时,只需用算法去生成或是判断token的合法性即可.大致方式如下: 二.

cocos2d-x网络编程 连接php服务器笔记3

上节服务器部分已经开发完,本节开始客户端部分开发,首先是UI制作. UI制作 既然是登录验证那当然要有登录界面,UI起码也要像个游戏样子吧这里我不想用基本控件,就用cocostudio制作一个吧,cocostudio里有一个标准的登录界面如下: 为了图省事我用最新版的Cocos制作的(v2.2.8)当然你直接用cocostudio1.6导出json文件也可以,但是没有这样方便.如果你第一次使用,想用它来建立VS2012的 C++工程需要先在商店里下载一个Cocos Framework v3.6.

读thinking in java的收获(二) --eclipse生成javadoc文档

最开始学习java语言的时候学过生成javadoc不过当时只是用windows命令行生成.读了这里的javadoc温故而知新发现其实我们做的项目就用到了一些注释,只是没有用eclipse 生成这份文档,通过查阅,最终补全了这份知识. 一.书中的代码: <pre name="code" class="java">//:object/HelloDate.java package unit2; import java.util.Date; /** * The