[PHP-users 11860] Re: PHPバージョンによる相違

Naofumi Kondoh php-users@php.gr.jp
Thu, 28 Nov 2002 12:39:54 +0900


ソフト工房の近藤です。

Osamu Shigematsu wrote:
> 重松です。こんにちは。

>>>$pdata = serialize($data);
>>>$magic = md5(md5('qwerty') . md5($pdata)); // パスワードは隠すべし
>>
>>-- snip --
>>
>>私は、
>>$magic =  md5(KEY) . md5($pdata);

スイマセン。寝ぼけてました。次の間違い。(赤面の至り)。
# md5 する前にくっつけなくては意味がないですよね。

define('KEY', 'hogehoge.........');
$magic = md5(KEY . $pgdata );

-- snip --

> で、いちいち md5(md5(KEY).md5($pdata)) なのは、md5 が十分高速、
> という前提でです。別に md5(KEY.$pdata) でもいいと思います。

石橋をたたくということですね。

> 
> 
>>あと、md5 の出力は 16進数になるので、これを base64
>>の用に ASCII CODE 64 文字に変換したいのですが、PHP で
>>書く場合、なにかうまい書き方はあるでしょうか?。
>>scanf で、16進文字列を、数値に変換して配列で文字を
>>ひっぱてくるというのはなんかスマートでないような気がして。
> 
> 
> pack()/unpack() あたりでできそうですね。

pack() の引数は、Integer の範囲内でないといけないはずです。
x86 Linux の場合、4 bytes integer だから、HEX 8 桁毎に
substr() しないといけないのでは。まあ、大した処理時間では
ないと思いますが。


_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 (株)ソフト工房   近藤直文        Email:  nkon@shonan.ne.jp
http://www.SOFTKOUBOU.co.jp/      http://www.shonan.ne.jp/~nkon/
2002-11-28(木)19:00-21:30 第8回PostgreSQL業務アプリ分科会 勉強会
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/