hashlibで文字列をハッシュ化して安全にパスワードを保存する

スポンサーリンク

ハッシュ関数とは?

ハッシュ関数は、任意の長さの入力データを変換して、決まった長さのハッシュ値を生成します。

ハッシュ関数に同じ入力を与えれば、毎回同じハッシュ値を出力します。

ハッシュ値から入力を求めることは、元データの探索に要する計算量が膨大になるので(計算困難性)、事実上不可能です。

パスワードをそのままデータベースに保存すると、データベースをハッキングされた場合に、パスワードが盗まれてしまうので、入力したパスワードをハッシュ関数に通して、出力されたハッシュ値をデータベースに登録します。

SHA256で文字列をハッシュ化する

ハッシュ関数のアルゴリズムとして、主流で安全性の高い「SHA256」を利用します。

encode()で文字列をバイト列に変換し、ハッシュ関数であるsha256()で求めた値を、hexdigest()で16進形式文字列としてハッシュ値を出力します。

import hashlib #hashlibライブラリ

data="python" #文字列を指定

hs=hashlib.sha256(data.encode()).hexdigest()
hs
Python
スポンサーリンク
シェアする
cccをフォローする

コメント

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