md5関数でパスワードなどを暗号化する

2012-08-16    654   1614

md5関数に文字列を与えると、その文字に準じた32文字の英数字の文字列(ハッシュ値)を返してくれます。一文字でも違う値を与えれば、全く違う文字列になり、同じ文字列なら毎回同じ文字列が返ります。

<関数の使用例>


<?php
echo md5('abcd');
?>

<結果>


e2fc714c4727ee9395f324cd2e7f331f

上記の文字列から元の文字列に戻す方法はありません。一度暗号化してしまうと、暗号化した本人しか答えが分からないのです。セキュリティーを重視するサイトではデータデースにそのままパスワードを記録させてはいけません。パスワードは必ずmd5で暗号化しておきましょう。もし、情報が漏れた際でも最悪のケースは防げます。

主な使い方はログイン時のパスワード認証になりますが、メンバー登録の際に仮登録から本登録をさせる際に送るURLのパラメーターにメールアドレスのハッシュ値をつけ、本人確認に用いることもあります。

<パスワード認証>


<?php
$pass = "c4ca4238a0b923820dcc509a6f75849b";
if (md5($_POST["pass"]) == $pass) {
    echo "認証成功";
}
?>

もう一つ使える技があります。例えば掲示板などで長い文章を扱う場合、文章のハッシュ値を随時取得し、データベースに格納しておきます。そうすると、まったく同じ内容の書き込み(マルチポスト)をさせない為の防止を高速に行うことができます。

どんな長い文字列でも32文字の英数字で返してくれるmd5関数は暗号化や重複チェックの場面で活躍する重要な関数です。

カテゴリ: PHP

comment 登録なしでご自由にご入力いただけます(^^)ぜひぜひ記事のご感想をお聞かせ下さい。

小宮孝一2022年3月8日

敗戦国の国民という家畜のアイデンティティを捨てて、国家から自立した人間、日本人というアイデンティティを持ってほしいと思います。

1 返信
m2net2022年3月9日

3S政策・砂糖依存・精神の弱体化。自立から遠ざかるばかりで…。「支配構造に気付くところから」だと考えています。

2
小宮孝一2022年3月8日

日本と自分は別という意味です。

返信

お名前とコメントは入力必須です。

コメントの文字数が短すぎます。

この内容でコメントを送る
コメントをする

目が疲れている方向けにラジオ系Youtubeを始めました

オススメのPHPに関する記事

この記事がお役に立てましたら是非シェアのご協力お願いします。