ハッシュとは任意のデータから「固定の長さの値」を生み出す仕組みです。
ハッシュ化によって外部に漏れて欲しくないデータを比較的安全に保存することができます。
ハッシュの種類
ハッシュには以下のような種類があります。
- 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を使用する。
ハッシュ化する値はエンコードする。
必要な桁数に合わせてハッシュの種類を変える。