[PHP-users 28624] Re: MD5の仕組みについて

SATOH Fumiyasu fumiya @ samba.gr.jp
2006年 3月 5日 (日) 23:19:12 JST


さとうふみやす @ ミラクルです。

At Sat, 04 Mar 2006 06:41:14 +0900,
Yasuo Ohgaki wrote:
> > echo md5('メールアドレス'+'何か');
> 
> 上記は良くない例の一つになります。一部にでも予測可能な文字列は含まない
> よういするべきです。prefix程度ならまだ良いですがメールアドレスやアカウ
> ント名などのは絶対に含めてはならない情報です。

MD5 の種に予測不可能な文字列 ('何か'?) が含まれているなら、
予測可能な文字列 ('メールアドレス') が含まれていても
問題ないと思いますが、いかがでしょうか。

> > であればメールアドレスがユニークである限り
> > ユニークの文字列となるのでしょうか?
> 
> 確立的にはユニークであるという前提で普通は問題ないです。

個人的には、競合する可能性があるのにそれを放置するのは、
問題 (バグ)だと思う。

> > 過去ログを拝見しますと、md5は無限の事象を有限の長さに写すとあるので、
> > ユニークになるとは限らず生成した後に重複チェックをしないと
> > ユーザー毎に一意とすることはできないでしょうか?
> 
> 確立的には必要と思われていません。

あまり多くの実装を見てきたわけではありませんが、
残念ながらそういったものばかりのようです。うーん…。

> > PHPのセッションIDも生成時に重複チェックをしているのでしょうか?
> 
> していません。

バグだと思うんだけどなぁ。マニュアルなどに重複する可能性が
記載されているなら、仕様 (制限事項) かな。

-- 
-- Name: SATOH Fumiyasu / fumiyas @ miraclelinux.com
-- Business Home: http://www.MiracleLinux.com
-- Personal Home: http://www.SFO.jp/blog/


PHP-users メーリングリストの案内