web-dev-qa-db-ja.com

pythonを使用してMD5の文字列の合計を取得するにはどうすればいいですか?

Flickr APIドキュメント では、[api_sig]値を生成するために文字列のMD5合計を見つける必要があります。

どのようにして文字列からMD5の和を生成するのですか?

Flickrの例:

ストリング:000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite

MD5合計:a02506b31c1cd46c2e0b6380fb94eb3d

229
super9

Python 2.xの場合、pythonの hashlib を使用してください。

import hashlib
m = hashlib.md5()
m.update("000005fab4534d05api_key9a0554259914a86fb9e7eb014e4e5d52permswrite")
print m.hexdigest()

出力:a02506b31c1cd46c2e0b6380fb94eb3d

228
Ikke

次のことができます。

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 の公式ドキュメント

483
Mark Longair

hashlib でMD5実装を使ってみましたか?ハッシュアルゴリズムは通常、テキストデータではなくバイナリデータに作用します。そのため、ハッシュ化の前にテキストからバイナリデータに変換するためにどの文字エンコーディングが使用されるかについて注意する必要があります。

ハッシュの結果もバイナリデータです - Flickrの例は16進エンコーディングを使ってテキストに変換されたようです。これを取得するには、hashlibのhexdigest関数を使用します。

9
Jon Skeet
Try This 
import hashlib
user = input("Enter text here ")
h = hashlib.md5(user.encode())
h2 = h.hexdigest()
print(h2)
2
Ome Mishra

で試すことができます

#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)
0
Md Jewele Islam