1

重複の可能性:
PythonでのHMAC-SHA1の実装

`PythonでOAuth認証を行おうとしていますが、oauth_signatureが拒否され続けます。Python 3は私にとってはかなり新しいので、誰かがこのコードの何が問題になっているのか教えてもらえますか?

api_key = 'string'
api_secret = 'another_string'
sig_key = api_secret + '&' + api_key
hmac_alg = hmac.new(sig_key.encode('utf-8'), sig_base_str.encode('utf-8'),hashlib.sha1)

signature_base = base64.b64encode(hmac_alg.digest())
url = url_base + '?' + 'oauth_signature=' + urllib.parse.quote(str(signature_base.decode('utf-8')),'') + '&' + str(param_str)

param_strは&、入力パラメーターの区切り文字列です。HTTPサービスは、私が要求した内容に基づいて出力応答を変更するため、これをうまく読み取っているようです。それは私の署名を拒否し続けます。hmacが原因だと思います。

4

1 に答える 1

0

以下をお試しいただけますか

api_key = b'string'
api_secret = b'another_string'

Pythonのドキュメントから

PEP 3112: バイトリテラル。b"..." 文字列リテラル表記 (および b'...'、b"""..."""、および br"..." などのそのバリアント) は、バイト型のリテラルを生成するようになりました。

于 2012-12-13T05:25:49.977 に答える