1
我正在使用Python 2.7中的代碼,但是當我在3.6中使用它時,它不起作用。它旨在爲亞馬遜MWS API調用編碼簽名。在3.x和2.x中的Python HMAC /編碼
原來的代碼在Python 2.7:
sig_encoded = base64.b64encode(hmac.new(str(self.secret_key), sig_data, hashlib.sha256).digest())
我在這裏讀了一些其他的職位,按照說明,並與此想出了:
的Python 3.6
key_enc = (bytes(self.secret_key, "utf-8"))
sig_data_enc = (bytes(sig_data, "utf-8"))
sig_encoded = base64.b64encode(hmac.new(key_enc, sig_data_enc, hashlib.sha256).digest())
然而,這會從API返回錯誤。 Python 3.6中使用的版本有什麼問題?
謝謝!