前回は十分に具体的ではなかったと思います。どうぞ:
私は16進文字列を持っています:
742713478fb3c36e014d004100440041004 e0041004e00000060f347d15798c9010060 6b899c5a98c9014d007900470072006f007 500700000002f0000001f7691944b9a3306 295fb5f1f57ca52090d35b50060606060606
最後の 20 バイトには、(理論的には) 最初の部分の SHA1 ハッシュが含まれている必要があります (完全な文字列 - 20 バイト)。でも、私には似合いません。
PHPでこれをやろうとしていますが、うまくいきません。試合はできますか?
チケット:
742713478fb3c36e014d004100 440041004e0041004e00000060 f347d15798c90100606b899c5a 98c9014d007900470072006f00 7500700000002f1f7b9a914f0000914
元のチケットに追加されたチケットの sha1 ハッシュ:
3306295fb5f1f57ca52090d35b50060606060606
チケットの私のsha1ハッシュ:
b6ecd613698ac3533b5f853bf22f6eb4afb94239
チケットの内容と保管方法は次のとおりです。FWIW、ユーザー名などを引き出して、さまざまな区切り記号を見つけることができます。 http://www.codeproject.com/KB/aspnet/Forms_Auth_Internals/AuthTicket2.JPG
編集: 文字列がこの時点より前に通過する復号化関数によって最後にパディングされていることを発見しました。最後の 6 バイトを削除し、それに応じてチケットとハッシュで調整しました。まだうまくいきませんが、私は近づいています。