環境
- Python 3.5
やり方
import hashlib
する必要がある
>>> import hashlib >>> hashlib.md5(b'hello').hexdigest() '5d41402abc4b2a76b9719d911017c592'
md5()はバイト列を引数として受けるので、渡す際は文字列の前にbをつけなければならない。
つけないと
>>> hashlib.md5('hello').hexdigest() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: Unicode-objects must be encoded before hashing
となる
変数を渡す際も同じく
>>> hashlib.md5(message.encode('utf-8')).hexdigest() '5d41402abc4b2a76b9719d911017c592'
とやって上げる必要がある。このへんはPython3で文字列を処理する際の心掛け - Qiitaあたりが詳しい