繁体   English   中英

python 2代码到py3的身份验证行

[英]Authentication line of python 2 code to py3

这是针对seomoz API的,下面是适用于python 2的代码:

return base64.b64encode(hmac.new(self.secret_key, toSign, hashlib.sha1).digest())

我尝试将其更改为类似这样的东西以使其与py3.5.1一起使用:

return (base64.b64encode(hmac.new(bytearray(self.secret_key, "utf-8"),
bytearray(toSign,"utf-8"), hashlib.sha1).digest())).decode("utf-8").replace("\n", "")

但是请继续从moz获取“身份验证失败”错误响应。 如果有帮助,这里是完整文件。

我尝试使用python 2.7和3.5的两个函数:secret_key =“ sss” toSign =“ toSign”

结果是:“ 7Zs94MRQfyNmonJhtgKT0QmHAcQ =”和“ 7Zs94MRQfyNmonJhtgKT0QmHAcQ =”

因此,也许toSign ='%s \\ n%i'%(self.access_id,expires)中的任何问题?

def signature(self, expires):
    toSign  = '%s\n%i' % (self.access_id, expires)
    return base64.b64encode(hmac.new(self.secret_key, toSign, hashlib.sha1).digest())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM