パスワードのソルトとは何ですか?

パスワードのソルトとは何ですか?

SALT(ソルト)は、パスワードをハッシュ化する際にランダムな値を加えることで、パスワードを破られることを防ぐ技術におけるランダム文字列を意味する用語です。 パスワードごとに個別のランダム値が加えられることで、ハッシュからパスワードを推測するレインボーテーブル攻撃などを防ぐことができます。

ソルトの実装例

以下は、Pythonでのソルトを使ったパスワードハッシュ化の例です。


import hashlib
import os

# ランダムなソルトを生成
salt = os.urandom(16)
print("Salt: ", salt.hex())

# パスワードの入力
password = "my_secure_password"

# パスワードをバイトに変換し、ソルトを加える
hashed_password = hashlib.pbkdf2_hmac('sha256', password.encode('utf-8'), salt, 100000)
print("Hashed Password: ", hashed_password.hex())

関連文献

ソルトとパスワードハッシュに関する詳細情報は、以下の文献を参考にしてください。

その他の参考記事:angular hash password