常用的获取随机字符串的方法
base64
base64 不是算法而是一种编码方式,是可以被解码的,有时候在代码中我们用它来编码后处理业务效果很好;
py
from datetime import datetime
import base64
a = str(datetime.now())
b = base64.b64encode(a.encode("utf-8")).decode("utf-8")
print(b)
hash
hash 是一种算法,不同的算法复杂度不一样,常用的 MD5算法;
py
from datetime import datetime
import hashlib
a = str(datetime.now())
# 构造一个hashlib的对象
obj = hashlib.md5()
obj.update(a.encode("utf-8"))
h = obj.hexdigest()
print(h)
还可以增加点复杂度,给 md5()
里面传入一个字符串:
py
from datetime import datetime
import hashlib
a = str(datetime.now())
# 传入一个字符串,增加复杂度
obj = hashlib.md5("mikigo".encode("utf-8"))
obj.update(a.encode("utf-8"))
h = obj.hexdigest()
print(h)
secrets
secrets 用于生成高度加密的随机数,在后端处理Token问题时经常使用;
过去咱们习惯使用 random
模块来生成一些随机字符,最新最流行的是用 secrets;
py
import secrets
a = secrets.token_hex()
print(a)