0

Javaを使用してmod_auth_tktCookie生成を実装した人はいますか?

iptstamp(PHPではpack関数を使用して実行できます)とhextimestampをJavaで生成する方法に固執しています。

Cookieを生成するためのアルゴリズムは次のとおりです。

cookie := digest + hextimestamp + user_id + '!' + token_list + '!' + user_data

digest := MD5(digest0 + key)

digest0 := MD5(iptstamp + key + user_id + '\0' + token_list + '\0' + user_data)
  • iptstampは8バイト長のバイト配列で、バイト0〜3にはネットワークバイト順の2進数としてクライアントのIPアドレスが入力され、バイト4〜7にはネットワークバイト順序の2進数としてタイムスタンプが入力されます。

  • hextimestampiptstampで使用されるタイムスタンプを表す8文字の長さの16進数です。

  • token_listこのユーザーのアクセストークンのオプションのコンマ区切りリストです。
    このリストは、TKTAuthTokenが特定の領域に設定されている場合にチェックされます。

  • user_dataオプションです

4

1 に答える 1

1

IP アドレスを 4 バイトに変換し、タイムスタンプを追加するだけです。

iptstamp = ip_chars + ts_chars

http://code.cmlenz.net/diva/changeset/173/branches http://www.mail-archive.com/modauthtkt-users@lists.sourceforge.net/msg00003.html

以下を使用して、ネットワーク バイト オーダーを取得します。

ByteBuffer bb = ByteBuffer.allocate(4096);
bb.order(ByteOrder.BIG_ENDIAN);

見る

ネットワーク オーダー ショート (Java)

于 2012-09-06T06:30:20.117 に答える