首页 > 编程知识 正文

python获取token并登录,python教程

时间:2023-05-06 15:38:00 阅读:41790 作者:3161

最近做了另一个关于登录的操作,首先想到了token的生成和token的验证方案,然后粘贴代码。

产生token:

importtimeimportbase 64 importhmacdefgenerate _ token (key,expire=3600 ) : r''' @Args: key: str )用户指定的key 需要。每次token发生时,key可以是相同的key (expire : int ),最大有效时间单位为s ) return : state : str ' ' ts _ str=str (time.time ) ) eee ts_byte,' sha1 ' ).hex digest (token=ts _ str ' : ' sha1 _ tshexstrb 64 _ token=base64.URL safe _ b 6534en ner

生成hmac sha1算法中用户给出的key和token最大过期时间戳的消息摘要,用' : '将该消息摘要与最大过期时间戳连接起来,进行base64编码

验证token:

importtimeimportbase 64 importhmacdefcertify _ token (key, token ) : r ' ' ' @ args : key : str token : str @ returns : boolean ' ' token _ str=base64.URL safe _ b 6524de cecectr=2: returnfalsets _ str=token _ list [0] iffloat (ts _ str ) time.time ) : # tokenexpiredreturnfalseknown shanown ts_str.encode ) utf-8 ),sha1 ) ) calc _ sha1 _ tsstr=sha ALC=known _ sha1 _ tsstr : # tokencertificationfationfation 如果过期未过期,则使用hmac sha1算法计算从token获取的最大过期时间戳。 请注意,这里的key与生成token的key相同。 将最后生成的摘要与通过token检索的消息摘要进行比较,如果两个摘要相等,则token有效,否则token无效。

执行:

Key='JD98Dskw=23njQndW9D'#小时后到期的60*60Token=generate_Token(key,3600 ) certify _ token (key,token ) key )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。