Skip to content
🎨 作者:mikigo 📔 阅读量:

常用的获取随机字符串的方法

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)