一起走进Python之Token生成器的使用

感谢所有帮助我的人,指点我的人,以及辅导我的人!

1、在上一章使用Python打印出了乘法表,本章介绍token生成器

回顾:打印乘法表:

My_Int = 10
for i in range(My_Int):
    for j in range(1, i+1):
        print(f"{i}*{j}={str(i*j):2}", end=" ")
    print()
# 输出结果:
1*1=1  
2*1=2  2*2=4  
3*1=3  3*2=6  3*3=9  
4*1=4  4*2=8  4*3=12 4*4=16 
5*1=5  5*2=10 5*3=15 5*4=20 5*5=25 
6*1=6  6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 
7*1=7  7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 
8*1=8  8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 
9*1=9  9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

2、Token的基本概念:

Token 的中文意思是“令牌”。主要用来身份验证。 Facebook,Twitter,Google+,Github 等大型网站都在使用。比起传统的身份验证方法,Token 有扩展性强,安全性高的特点,非常适合用在 Web 应用或者移动应用上。
验证方法:
使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:
1. 客户端使用用户名跟密码请求登录
2. 服务端收到请求,去验证用户名与密码
3. 验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
4. 客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage里
5. 客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
6. 服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据

3、Token # 随机标记名字

用法

#!/usr/bin/env python
# Author:ywyankerp
import random
result = random.choice("dhawkjdhawkjhdkjaw47294879274982342???fsklaflka") # 这里使用random中的一个方法:choice 那么就是在后面的一堆字符中随机的去选择一个字符
print(result)
>>>j # 输出结果

方法:Join

#!/usr/bin/env python
# Author:ywyankerp
str_list = ["zhangsan", "lisi", "wangwu", "zhouliu"] # 定义一个列表
S = "" # 在这里定义一个空的列表
result = S.join(str_list) # 使用join方法
print(result)
>>>zhangsanlisiwangwuzhouliu # 输出结果

那么在join方法中可以理解为把列表的内容全部都结合在了一起。

4、使用for循环输出次数

#!/usr/bin/env python
# Author:ywyankerp
import random # 导入random
for i in range(5): # 循环5次
    result = random.choice("doiqwhudohwqo482947198749812401dnallawdwa") # 使用choice方法
    print(result) # 依次输出....
# 输出结果
1
1
2   
0
2

那么到这里输出的是以列的方式输出 那么如何让他横向输出呢,在上面我们定义了一个列表,使用了 join的方法列表进行了结合,那么我们可以把random.choice的方法输出成列表,随后使用join去把列表结合!

#!/usr/bin/env python
# Author:ywyankerp
import random # 正常导入
Name = [] # 定义一个空的列表
for i in range(5): # 循环五次
    result = random.choice("doiqwhudohwqo482947198749812401dnallawdwa") # 使用choice方法
    Name.append(result) # 向Name空列表导入choice方法运行的结果
print(Name) # 依次输出 一共输出5次
>>>['o', 'a', '2', 'd', '1'] # 输出结果

这个时候我们已经转换成了列表,那么我们使用join方法来结合起来!

#!/usr/bin/env python
# Author:ywyankerp
import random # 导入random
Name = [] # 定义空列表
for i in range(5): # for循环5次
    result = random.choice("y21984yekwqbkwagk974y12984y12vkh12ge9y8h1b1") # 使用choice方法
    Name.append(result) # 将choice方法输出的结果导入到空列表当中
mail = "".join(Name) # 使用.join方法将列表的内容进行结合
print(mail) # 输出!
>>>118q9

到目前为止我们的随机生成还是需要拿手去写的 我们可以使用string

#!/usr/bin/env python
# Author:ywyankerp
import string
My_str = string.ascii_lowercase # abcdefghijklmnopqrstuvwxyz
My_Str = string.ascii_uppercase # ABCDEFGHIJKLMNOPQRSTUVWXYZ
My_STR = string.ascii_letters # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
My_int = string.digits # 0123456789
print(My_str)
print(My_Str)
print(My_STR)
print(My_int)
# 输出结果
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789

以上就是string常用的方法

5、 结合string生成字符

#!/usr/bin/env python
# Author:ywyankerp
import random
import string
My_List = []
for i in range(5):
    Method = random.choice(string.ascii_letters + string.digits ) My_List.append(Method) result = "".join(My_List) print(result) # 输出结果: 7QgjA # 这时候就有大写 小写 包括数字了。

总:结合上面内容写一个简单的设置用户名密码流程

#!/usr/bin/env python
# Author:ywyankerp
import random
import string
My_List = []
User = input("请您输入您的姓名:")
Password = input("请您选择你要设置几位数的密码:")
for i in range(int (Password)):
    Method = random.choice(string.ascii_letters + string.digits )
    My_List.append(Method)
result = "".join(My_List)
total = f"您的用户名为:{User} 您的密码为:{result}"
print(total)

以下为输出结果:

>>>请您输入您的姓名:延凯
>>>请您选择你要设置几位数的密码:9
>您的用户名为:延凯  您的密码为:F12oHfSWv
相关文章
相关标签/搜索