パスワードなどの機密データを保存するときはハッシュ化をして元のパスワードを取得できないようにすることでセキュリティが向上します。

そこで、Pythonでパスワードのハッシュ化を行う方法を紹介します。

Pythonには、ハッシュ関数を提供するhashlibライブラリがあり、パスワードのハッシュ化には、sha256、sha512、md5などのハッシュ関数が使用されます。

コード例

import hashlib
import os

password = "password123"
salt = os.urandom(32) # ランダムなバイト列を生成

# ソルトとパスワードを連結してハッシュ値を生成
hash_value = hashlib.sha256(salt + password.encode()).hexdigest()

print(f"Salt: {salt.hex()}")
print(f"Hash value: {hash_value}")

上記の例では、os.urandom(32)でランダムなバイト列を生成して、パスワードと連結した後にhashlib.sha256()でハッシュ化しています。

最終的なハッシュ値は、hexdigest()で16進数表記に変換されます。また、ソルトのバイト列はhex()で16進数表記に変換して表示しています。

Python