Token,证书。对HTTP连接而言,主要作用是区分此次请求是哪次(哪天)登录后的。所以它必备以下几点:
- 唯一性。不同用户的每次登录都要有唯一的Token。
- 有效时间。超过这个时间这个Token就失效。
- 开始时间。没这个没法检测是否失效
基于上面三点,编写了一个简单的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