Python只生成字符串li

2024-10-01 05:01:01 发布

您现在位置:Python中文网/ 问答频道 /正文

token = jwt.encode({'some': email}, 'secret', algorithm='HS256')

使用:Python JWT lib

当我打印时

print(str(token)) 

我得到如下结果:b'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9._ASviMFJ0oMbKs5CorloUx5FHE5MXz25OXNCQatAwho'

因此,当我在结尾没有b''的情况下进行比较时,使用上面的标记,它显示为false。为什么会这样?我如何避免它

编辑我想与eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9._ASviMFJ0oMbKs5CorloUx5FHE5MXz25OXNCQatAwho进行比较


Tags: tokensecretemaillibsomejwtalgorithmencode
2条回答

您可以这样做:

token = jwt.encode({'some': email}, 'secret', algorithm='HS256')
print token.decode('utf-8')

在你的情况下,这对我很有用:

>>> token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9._ASviMFJ0oMbKs5CorloUx5FHE5MXz25OXNCQatAwho'
>>>bytearray(token, 'utf-8') == b'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzb21lIjoicGF5bG9hZCJ9._ASviMFJ0oMbKs5CorloUx5FHE5MXz25OXNCQatAwho'
True

问题是,您将以字符形式表示的一组字节与实际字符串进行比较,因此,如果您将字符串转换为字节,那么您可以将两者进行比较

相关问题 更多 >