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入門速報
コメント