に更新

【Python】ハッシュ化の方法

ハッシュとは任意のデータから「固定の長さの値」を生み出す仕組みです。

ハッシュ化によって外部に漏れて欲しくないデータを比較的安全に保存することができます。

 

ハッシュの種類

ハッシュには以下のような種類があります。

  • MD5  → 32桁のハッシュ値を生成するハッシュ関数です。
  • SHA256 → 64桁のハッシュ値を生成するハッシュ関数です。(※推奨)
  • SHA512 → 128桁のハッシュ値を生成するハッシュ関数です。

 

ハッシュ値の計算方法

Pythonでハッシュ値を計算するには、hashlibを使用します。



hashlib.sha256("hoge").hexdigest()

サンプルコード

今回はsha256でハッシュ値を取得します。

import hashlib

password = "pass1234".encode('ascii')  #encodeしてあげる必要もある模様
hash = hashlib.sha256(password).hexdigest()
print(hash)
→bd94dcda26fccb4e68d6a31f9b5aac0b571ae266d822620e901ef7ebe3a11d4f

まとめ

ハッシュ化にはhashlibを使用する。

ハッシュ化する値はエンコードする。

必要な桁数に合わせてハッシュの種類を変える。