在用戶進行郵箱驗證的時候,我們會給用戶提供一個激活鏈接。此鏈接會攜帶上用戶的相關信息,用於判斷登錄用戶。但是將用戶的個人信息以明文的形式展示是不安全的所以我們用到了
itsdangerous
安裝:
pip install itsdangerous
使用TimedJSONWebSignatureSerializer加密
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer serializer = Serializer(secret_key = "kashfiabfihiadiha", expires_in=60*60) #secret_key:用於加鹽 #expires_in:過期時間 data = {'user_id': user.id, 'email': user.email} #准備要加密的數據 token = serializer.dumps(data).decode() #加密操作,注意serializer.dumps(data)生成的密文是bytes類型的,decode是轉成字符串形式 #對於激活鏈接需要進行拼接 url+'?token=' + token
使用TimedJSONWebSignatureSerializer解密
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer serializer = Serializer(secret_key = "kashfiabfihiadiha", expires_in=60*60) result = serializer.loads(token) #這里的token是之前加密的token,當超過了時限或者是值有誤就會報錯,BadData
一般進行解密需要放在try...except語句中