ホーム > ブログ
Recent Comments
Categories
- No categories
PEARのCrypt Browfishライブラリの挙動がローカル環境とサーバ環境で違うのでなんだろうと思って解析してみた。
結果、Windows版とLinux版で排他的論理和の挙動が違っていることが原因と判明。
echo ((-21474836470) ^ (2147483647));
Windows版ver5.2.9
echo ((-21474836470) ^ (2147483647));
結果→ 2147483637
Linux版PHP ver5.1.6(CentOS5付属)
echo ((-21474836470) ^ (2147483647));
結果→ -1
そもそも、ライブラリ内で扱っている初期値での演算で32ビット超えしちゃっている時点で、ライブラリの実装として間違っているような気がするが…。
それはさておき、上記の違いがマシンの64ビットと32ビットという環境の違いが原因かと思ったけど、いくつかの環境で試してみたところそうではないみたい。同じ環境内であれば暗号化、復号化とも問題ないようですが、暗号化データを移行する時は注意が必要ですね。
[2009/06/05]
Uncategorized
|
No Comments »
No Comments
No comments yet.
Leave a comment