iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >token的介绍和用python 生成t
  • 790
分享到

token的介绍和用python 生成t

tokenpython 2023-01-31 02:01:09 790人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

 基本概念 Token 的中文意思是“令牌”。主要用来身份验证。 Facebook,Twitter,Google+,GitHub 等大型网站都在使用。比起传统的身份验证方法,Token 有扩展性强,安全性高的特点,非常适






基本概念


Token 的中文意思是“令牌”。主要用来身份验证。 Facebook,Twitter,Google+,GitHub 等大型网站都在使用。比起传统的身份验证方法,Token 有扩展性强,安全性高的特点,非常适合用在 WEB 应用或者移动应用上。


验证方法


使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:


1.       客户端使用用户名跟密码请求登录


2.       服务端收到请求,去验证用户名与密码


3.       验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端


4.       客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里


5.       客户端每次向服务端请求资源的时候需要带着服务端签发的 Token


6.       服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据


python常用Token生成方法


  1. binascii.b2a_base64(os.urandom(24))[:-1]


使用举例:


>>> import binascii


>>> import os


>>>binascii.b2a_base64(os.urandom(24))[:-1]


b'J1pJPotQJb6Ld+yBKDq8bqcJ71wXw+Xd'


这种算法的优点是性能快, 缺点是有特殊字符, 需要加replace 来做处理。


  1. sha1(os.urandom(24)).hexdigest()


使用举例:


>>> import hashlib


>>> import os


>>> hashlib.sha1(os.urandom(24)).hexdigest()


'21b7253943332d0237a720701bcb8161b82db776'


这种算法的优点是安全,不需要做特殊处理。缺点是覆盖范围差一些。


 


  1. uuid4().hex


使用举例:


>>> import os


>>> import uuid


>>> uuid.uuid4().hex


'c58a80d3b7864b0686757b95e9626e47'


Uuid使用起来比较方便, 缺点为安全性略差一些。


  1. base64.b32encode(os.urandom(20))/base64.b64encode(os.urandom(24))

    >>> import base64

    >>> import os

    >>>base64.b32encode(os.urandom(20))

    b'NJMTBMOYIXHNRATTOTVONT4BXJAC25TX'

    >>>base64.b64encode(os.urandom(24))

    b'l1eU6UzSlWsowm8M8lH5VaFhZEAQ4kQj'


特别说明:


1.   可以用base64的地方,选择 binascii.b2a_base64 是不错的选择 —— 根据W3的SessionID的字串中对identifier的定义,SessionID中使用的是base64,但在Cookie的值内使用需要注意“=”这个特殊字符的存在;


2.   如果要安全字符(字母数字),SHA1也是一个不错的选择,性能也不错;


 


 




--结束END--

本文标题: token的介绍和用python 生成t

本文链接: https://www.lsjlt.com/news/186923.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • token的介绍和用python 生成t
     基本概念 Token 的中文意思是“令牌”。主要用来身份验证。 Facebook,Twitter,Google+,Github 等大型网站都在使用。比起传统的身份验证方法,Token 有扩展性强,安全性高的特点,非常适...
    99+
    2023-01-31
    token python
  • Python解析式与生成器的介绍
    本篇内容主要讲解“Python解析式与生成器的介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python解析式与生成器的介绍”吧!1.列表解析式列表解析式是将数据全部存储在内存中一并返回;#...
    99+
    2023-06-02
  • .net中的Span<T>类和Memory<T>类介绍
    .net core 2.1的重头戏就是性能,其中最重要的两个类就是span和memory,本文这里简单的介绍一下这两个类的使用。 什么是 Span<T> Span<...
    99+
    2024-04-02
  • SQL Server中T-SQL标识符介绍与无排序生成序号的方法
    T-SQL 标识符 在T-SQL语言中,对SQLServer数据库及其数据对象(比如表、索引、视图、存储过程、触发器等)需要以名称来进行命名并加以区分,这些名称就称为标识符。 通常情...
    99+
    2024-04-02
  • Python | Python的自我介绍(前世今生)
    本文概要 本篇文章主要介绍Python这门语言的前世今生,适合刚入门的小白或者想了解Python历史的同学,文中描述很详细,具有一定的学习价值,感兴趣的小伙伴快来一起学习吧。 个人简介 ☀️大家好...
    99+
    2023-09-13
    python 开发语言
  • AI 代码生成工具 Cursor 安装和使用介绍大全
    1: 概述 嘿,小伙伴们,听说你们要了解一款基于 AI 技术的代码生成工具 Cursor,让我们来一起看看如何安装和使用吧! Cursor 是一款基于 AI 技术的代码生成工具,它可以帮助开发人员自动生成代码,提高开发效率。下面是安装和使用...
    99+
    2023-08-18
    github java 开发语言
  • Vue生态的新成员Pinia的详细介绍
    目录安装和配置Store核心StateGettersActionsVue Devtools最后结论参考文献Pinia是Vue应用程序的状态管理方案,是Vuex核心团队成员开发。感觉更...
    99+
    2024-04-02
  • 介绍学习Python的用途和优势
    学习Python的用途和优势介绍 Python是一种广泛使用的编程语言,具有简单易学、灵活多样的特点,被广泛应用于各个领域。本文将介绍学习Python的用途和优势。 首先,Python具有广泛的应用领域。它可以用于开发Web应用...
    99+
    2024-01-13
    机器学习 web开发 用途:数据分析 优势:简洁易读 广泛的库支持
  • seata的部署和集成详细介绍
    目录seata的部署和集成1.部署Seata的tc-server1)下载2)解压3)修改配置4)在nacos添加配置5)创建数据库表6)启动TC服务2.微服务集成seata 1)引入...
    99+
    2023-05-15
    Java seata部署和集成 seata部署 seata集成
  • R语言-生成频数表和列联表crosstable函数介绍
    列联表crosstable 列联表不仅可以用来做简单的描述性统计,还可以在机器学习中用来比较识别正确率,FPR,TPR等等数据,以便我们比较不同的ML模型 or 调参。 2x2列联表...
    99+
    2024-04-02
  • 聊聊python的gin库的介绍和使用
    1.简介 由于现在很多机器学习的实验需要设置繁琐的参数,在多次实验中,有些参数是一样的,为了方便设置参数,Gin库出现了。它允许函数或类被注释为@gin.configurable,这...
    99+
    2024-04-02
  • python元组和字典的介绍
    这篇文章主要介绍“python元组和字典的介绍”,在日常操作中,相信很多人在python元组和字典的介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python元组和字典的介绍”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-01
  • SpringBoot-JWT生成Token和拦截器的使用(访问受限资源)
    目录1.什么是JWT2.JWT生成token2.1 添加依赖2.2 生成token2.3 使用拦截器解析token1.什么是JWT JWT官方的定义是:JSON Web令牌(JWT)...
    99+
    2024-04-02
  • Ajax状态码的生成顺序以及含义介绍
    Ajax状态码: 在创建Ajax对象,配置Ajax对象,发送请求,以及接收完服务器响应数据,这个过程中的每一个步骤都会有一个数值,这个数值就是Ajax的状态码。 根据xhr.read...
    99+
    2024-04-02
  • 【脚本】python中wmi介绍和使用
    一:WMI基础知识===================================================================WMI 最初于1998年作为一个附加组件与 Windows NT 4.0 Servic...
    99+
    2023-01-31
    脚本 python wmi
  • Python中各个模块的介绍和使用
    北京 | 高性能计算之GPU CUDA课程11月24-26日3天密集学习 快速带你晋级阅读全文> 作者,许胜利,Python开发工程师,任职于上海某财富管理有限公司。 在Python中有一个概念叫做模块(module),这个和...
    99+
    2023-01-31
    模块 Python
  • go语言代码生成器code generator使用示例介绍
    目录代码生成器介绍code-generator示例代码生成tag全局tag局部tag补充代码生成器介绍 client-go为每种k8s内置资源提供了对应的clientset和info...
    99+
    2024-04-02
  • python中if和elif的区别介绍
    多个if语句是每次单独判断 比如: 例子一 a = 5 if a < 6: #条件1 print(1) if a < 7: #条件2 ...
    99+
    2024-04-02
  • Python生成器和基于生成器的协程
    小编给大家分享一下Python生成器和基于生成器的协程,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、什么是生成器Generator生成器就是可以生成值的函数2.当一个函数里有了 yield关键字就成了生成器3.生成器可...
    99+
    2023-06-15
  • jwt介绍和PHP的使用
    适用于分布式单点登录(SSO) 流程 客户端输入账号密码登录; 服务端判断登录信息,用户登录成功返回客户端token; 客户端存储token,每个请求都需要传递token到服务端; 服务端验证token的有效期,返回对应的信息; 构成 分为...
    99+
    2023-10-20
    1024程序员节 php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作