>> enc = base64.urlsafe_b64enco-6ren">
gpt4 book ai didi

python - appengine base64 编码的字符串与我本地计算机的不同

转载 作者:太空宇宙 更新时间:2023-11-03 19:29:35 25 4
gpt4 key购买 nike

这是代码:

>>> import base64
>>> id = 1
>>> key = "secret key very long"
>>> enc = base64.urlsafe_b64encode(str(id)+key)
>>> enc
'MXNlY3JldCBrZXkgdmVyeSBsb25n'
>>> base64.urlsafe_b64decode(enc)
'1secret key very long'

在我的机器上按预期工作,但是当我将此代码上传到 google appengine 时,编码和解码的字符串完全不同。怎么会这样?

编辑1:这是实际的代码:

import base64
id = 18005
key = "r-$b*8hglm+858&9t043hlm6-&6-3d3vfc4((7yd0dbrakhvi"
enc = base64.urlsafe_b64encode(str(id)+key)
print enc
# local machine: MTgwMDVyLSRiKjhoZ2xtKzg1OCY5dDA0M2hsbTYtJjYtM2QzdmZjNCgoN3lkMGRicmFraHZp
# appengine: PXItJGIqOGhnbG0rODU4Jjl0MDQzaGxtNi0mNi0zZDN2ZmM0KCg3eWQwZGJyYWtodmkxODAwNQ==

最佳答案

我本身无法解释为什么,但是解码从 appengine 获得的字符串会显示它在您的 key 前面添加了一个“=”; 附加 ID,而不是前置。

>>> key='r-$b*8hglm+858&9t043hlm6-&6-3d3vfc4((7yd0dbrakhvi'
>>> base64.urlsafe_b64decode('PXItJGIqOGhnbG0rODU4Jjl0MDQzaGxtNi0mNi0zZDN2ZmM0KCg3eWQwZGJyYWtodmkxODAwNQ==')
'=r-$b*8hglm+858&9t043hlm6-&6-3d3vfc4((7yd0dbrakhvi18005'
>>> '=' + key + str(18005) == _
True

您绝对确定您在服务器上使用了相同的代码吗?

关于python - appengine base64 编码的字符串与我本地计算机的不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6632197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com