【Python】パスワードの暗号化処理(ハッシュ化、ソルト追加)

Pythonによるパスワードの暗号化処理(ハッシュ化、ソルト追加)についてまとめました。

【はじめに】ハッシュ関数を用いたパスワードの暗号化

ハッシュ関数は、入力されたデータをもとに固定長の文字列(ハッシュ値)に変換する関数です。

SHA-256(Secure Hash Algorithm 256)が出力するハッシュ値は256ビットなので、入力データの長さにかかわらず得られるハッシュ値は常に256ビットになります。
衝突が発生する確率は$\frac{1}{2^{256}}$なので、平均で$2^{128}$回の試行で同じハッシュ値を出力する異なる入力を発見できます。

特性 概要
衝突発見困難性(強衝突耐性) ハッシュ値が一致する2つのメッセージを探索することが困難であること。
原像計算困難性 ハッシュ値hash(M)から元のメッセーMを探すことが困難であること。
第二原像計算困難性(弱衝突耐性 既知のメッセージM1に対するハッシュ値が与えられた時、ハッシュ値が一致する、hash(M1)=hash(M2)となるようなメッセージM2を探索することが困難であること。
404 NOT FOUND | Python入門速報
【Python】文字列のハッシュ化
この記事では、Python言語で文字列からハッシュ値を生成する方法をソースコード付きで解説します。
404 NOT FOUND | Python入門速報

コメント