[PHP-users 63] crypt()の標準を強制的にMD5にする方法

SATO Akihiro php-users@php.gr.jp
Fri, 15 Jun 2001 03:09:56 +0900


どうも初めまして、佐藤と申します。
旧PHP-jp MLに投げた質問ですがこちらに移行したということなので再投稿しま
す。

phpで一つわからない点が出てきたので質問させて下さい。

現在、FreeBSD上でApache 1.3.20 + php 4.0.5という環境でWebサーバを組んで
います。(一応PostgreSQL 7.1.2も入っている)
ところが、最近FreeBSDのバージョンを3.5.1-Releaseから4.3-Stableに上げて一
通りmakeし直したところ、知らないうちにlibdescrypt.*がインストールされて
しまっていた関係で、phpのcrypt()でsaltを指定しない場合のデフォルトがMD5
からDESに変わってしまいました。
libdescrypt.*自体はDES/MD5どちらも対応可能なので、php側をいじることで
crypt()でsaltを指定しない場合に生成される文字列をMD5形式にしたいのですが、
何か良い方法はないでしょうか。

ちなみに現在は、libcrypt.*のシンボリックリンクを手動でlibscrypt.*に張り
直し、phpをconfigureし直して使っていますが、これだとsaltを指定しないcrypt()
がMD5形式になるのは良いんですが、DESでcryptされた文字列の検証ができなく
なってしまいます。(libscrypt.*はMD5専用)
一時的にデフォルトがDESになっていた間に若干DES化されたデータが入力されて
しまっている関係で、DESの検証も同時にできたほうが都合がよいので、できれ
ばDES/MD5の混在を許しつつ、デフォルトがMD5になる方法があれば一番良いので
すが…。

もしFAQであればリンクポインタ等教えていただけると助かります。
#一応自分で探した限りは見つかりませんでした。

--
 SATO Akihiro
  E-Mail : cocky@cocky.to, JBD02420@nifty.ne.jp
  WWW    : http://www.cocky.to/