hashlib md5やsha256などのハッシュ値を生成する

RESTのAPIサービスを利用する際、認証でmd5やsha256などのハッシュ値を生成する場合があると思いますが、pythonでは標準ライブラリのhashlibを使用すると簡単にハッシュ値の生成をすることが可能です。

サンプルを見てみましょう。

import hashlib

key = "abcdefg"
md5 = hashlib.md5(key.encode()).hexdigest()
sha256 = hashlib.sha256(key.encode()).hexdigest()

print(md5)
print(sha256)

hashlib.md5やhashlib.sha256の引数にバイト文字列を指定します。上のサンプルではencodeメソッドを使用していますが、ハードコードされている場合、以下のように書いても構いません。

key = b"abcdefg"
md5 = hashlib.md5(key).hexdigest()
sha256 = hashlib.sha256(key).hexdigest()
    

よく使うmd5とsha256を紹介しましたが、hashlibにはそれ以外にもsha1、sha2系各種が予め用意されており、サンプルと同様の方法で使用することができます。( MD5、SHA1、SHA224、SHA256、SHA384、SHA512 )

様々な種類のハッシュが手軽に使えるので便利ですね。