Flickr APIドキュメント では、[api_sig]
値を生成するために文字列のMD5合計を見つける必要があります。
どのようにして文字列からMD5の和を生成するのですか?
Flickrの例:
ストリング:000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite
MD5合計:a02506b31c1cd46c2e0b6380fb94eb3d
Python 2.xの場合、pythonの hashlib を使用してください。
import hashlib
m = hashlib.md5()
m.update("000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite")
print m.hexdigest()
出力:a02506b31c1cd46c2e0b6380fb94eb3d
次のことができます。
Python 2.x
import hashlib
print hashlib.md5("whatever your string is").hexdigest()
Python 3.x
import hashlib
print(hashlib.md5("whatever your string is".encode('utf-8')).hexdigest())
しかし、この場合はおそらく、Flickr APIと対話するためにこの役に立つPythonモジュールを使うほうが賢明です。
...これはあなたのための認証を扱います。
hashlib の公式ドキュメント
hashlib でMD5実装を使ってみましたか?ハッシュアルゴリズムは通常、テキストデータではなくバイナリデータに作用します。そのため、ハッシュ化の前にテキストからバイナリデータに変換するためにどの文字エンコーディングが使用されるかについて注意する必要があります。
ハッシュの結果もバイナリデータです - Flickrの例は16進エンコーディングを使ってテキストに変換されたようです。これを取得するには、hashlibのhexdigest
関数を使用します。
Try This
import hashlib
user = input("Enter text here ")
h = hashlib.md5(user.encode())
h2 = h.hexdigest()
print(h2)
で試すことができます
#python3
import hashlib
rawdata = "put your data here"
sha = hashlib.sha256(str(rawdata).encode("utf-8")).hexdigest() #For Sha256 hash
print(sha)
mdpass = hashlib.md5(str(sha).encode("utf-8")).hexdigest() #For MD5 hash
print(mdpass)