解決済みの質問

md5解読

例えば 0 や 1 a b などのmd5の値を掲載したとします。

そこで 1ab のmd5値を求めることは可能でしょうか?

なぜかと言いますと、パスワードをmd5で暗号化して保存しているのですが、ファイルアップローダの名前を保存する際、半角英数字で入力してもらい、それをmd5で変更しています。そうなると誰でもmd5のパターンを把握する事が出来md5でも暗号化の意味が無くなってしまうのかと心配なのですが、大丈夫でしょうか?

投稿日時 - 2009-02-19 12:05:02

連想キーワード:

QNo.4730620

すぐに回答ほしいです

質問者が選んだベストアンサー

md5から文字列を特定するのは、そうそう容易いもんでもないですが、どうしてもなら、独自のアルゴリズムを作成して、それにmd5を付加すれば、解読は難しくなると思います。

ざっとこんな感じ・・・

//独自IDを決める
$my_id='abc123';
//独自IDをmd5
$my_id_md5=md5($my_id);
//パスワード
$pass='password';
$pass_md5=md5($pass);
//独自IDとパスワードを組み合わせる
$pass_date=$my_id_md5.$pass_md5;

この$pass_dateをDB保存用とします。
あとはこのDBデータと先程の独自IDを組み合わせてパスワードチェックさせます。

//DBデータが$dbpassに格納されていると仮定。また、送信されたパスワードは$get_passとします

$get_md5=md5($get_pass);
if($dbpass!=$my_id_md5.$get_md5){
echo 'パスワードが違います';
}else{
echo 'パスワードが一致しました';
}

もうおわかりかと思いますが、特定されない文字列を$my_idに持たせる事で解読を難しくさせます。
このような仕様はクレジットカード決済システムなどでも使われている方法です。

投稿日時 - 2009-02-19 12:52:01

ANo.1

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(1件中 1~1件目)

ANo.2

そもそもmd5は暗号化ではないですよ。ただのハッシュ値です。
暗号化なら、
http://pear.php.net/package/Crypt_Blowfish
とか利用された方がいいんではないでしょうか?

投稿日時 - 2009-02-19 18:00:19

あわせてチェックしたい
  • 文字 暗号 解読 ...
  • Md5の解読 ...
  • 半角英数字の判別 ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら