应用的场景
有现成的python 项目 需要使用go 进行扩展!
代码实现
python通过itsdangerous 对数据进行加密
from itsdangerous import TimedJSONWebSignatureSerializer as TJWSS
tjwss = TJWSS('abc', 300)
# 要加密的数据
data = {
"id": 123,
}
# 加密 tjwss.dumps(数据), 返回bytes类型
token = tjwss.dumps(data).decode()
print(token)
itsdangerous的加密过程
1.了解header
以下是header的数据,alg 为加密方法 这里默认使用的是SHA256 iat为保存时间 exp 为过期时间
{"alg":"HS256","iat":1554802652,"exp":1554802952}
2.了解obj
下面的json就是obj 这也是我们存进去的数据
{"id":123}
3. 分别对header和obj 进行base64编码并用 一个点相拼接。这是itsdangerous包内的实现
base64d_header = base64_encode(self.serializer.dumps(header))
base64d_payload = base64_encode(self.serializer.dumps(obj))
retur