[PHP-users 10974] Re: MD5 with crypt()

Moriyoshi Koizumi php-users@php.gr.jp
Mon, 21 Oct 2002 09:20:40 +0900


小泉です。

確かに私のマシンで確認したところ、
同様の問題があることが確認できました。

http://bugs.php.net/13632 によれば、
OpenSSL との組み合わせに問題があるようです。

ためしに
------------------------------------------------------------
#include <stdio.h>
#include <crypt.h>

int main() { printf( "%s\n", crypt( "<?php?>", "$1$" ) ); return 0; }
------------------------------------------------------------
上記のような内容のファイルを nastycrypt.c として保存し、

$ gcc -o nastycrypt1 nastycrypt.c -lcrypto -lcrypt
$ gcc -o nastycrypt2 nastycrypt.c -lcrypt  -lcrypto

としたあと、

$ ./nastycrypt1
$ ./nastycrypt2

この結果を比べてみてください。もし違うのなら、運が悪いようです :)

目下対処法はありません。
openssl(というか、libcrypto) を利用する全ての拡張モジュールを
無効にしてください。


Norihisa Washitake <nori@washitake.com> wrote:

> こんにちは。
> 和志武といいます。
> 
> PHP の 4.2.3 を利用しています。
> 以前は
>    $md5pwd = crypt ( "password", '$1$' );
> というプログラムによって MD5 ハッシュが計算され、変数 $md5pwd には
> '$1$$I2o9Z7NcvQAKp7wyCTlia0' という値が入っていたのですが、PHP 4.2.2
> あたりから、'$1Oyx5r9mdGZ2' という値が入るようになりました。
> 
> どうやら第2引数に関わらず DES 暗号化されているようです。
> 
> これといって特に configure オプションを変えたつもりはないですし、
> システムでの変更点も思い当たりません。php.ini は特にいじっていません。
> # というか、ありません
> 
> なにかチェックするべき点などありますでしょうか。
> 
> なお、OS は RedHat 6.2 です。
> よろしくお願いします。
> 
> -- 
> Norihisa Washitake <nori@washitake.com>
> 
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users