タグ

ブックマーク / naga-sawa.hatenadiary.org (1)

  • Java BouncyCastle と PHP mcrypt のパディング処理の違い - ..たれろぐ..

    OpenPNE の DBJava から叩こうとしたときにはまったメモ。 先に結論を書くと、 PHP mcrypt の zero padding は元データが8の倍数長の場合は padding しない。 Java BouncyCastle の zero padding は元データが8の倍数長でも padding ( 8 バイトの 0x00 を追加 )する。 という挙動の違いのおかげで、元データのサイズ(バイト町)が 8 の倍数長である場合は、Java 側で得られた暗号化ストリームの末尾 8 バイトを削除/無視してやなければ PHP 側で得られる暗号化ストリームと合致しない。 やろうとしたことは、外部から受け取ったメールアドレスを元に、Java から OpenPNE の DB に直接つないで、対応するメンバID c_member_id の取得。 DB 内では各ユーザのメールアドレスは r

    Java BouncyCastle と PHP mcrypt のパディング処理の違い - ..たれろぐ..
    americanboss
    americanboss 2009/06/11
    複合化して、暗号化前の文字列と比べて一致しなくてハマった。
  • 1