【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を探索することが困難であること。
【ハッシュ法】意味・特徴・ハッシュ関数の計算
ハッシュ法の意味・特徴・関数について解説します。
【Python】文字列のハッシュ化
この記事では、Python言語で文字列からハッシュ値を生成する方法をソースコード付きで解説します。
【情報処理入門】テクノロジ系、マネジメント系、ストラテジ系、資格試験
情報処理の基礎知識(テクノロジ系、マネジメント系、ストラテジ系)や資格試験についてまとめました。なお、情報処理技術者試験の出題分野別(テクノロジ系、マネージメント系、ストラテジ系)に各項目を整理しています。そのため、ITパスポート、基本情...

コメント

タイトルとURLをコピーしました