为什么我的SHA1哈希不匹配?

lyn*_*ynn 3 php sha1

我上次认为我不够具体.开始了:

我有一个十六进制字符串:

742713478fb3c36e014d004100440041004 e0041004e00000060f347d15798c9010060 6b899c5a98c9014d007900470072006f007 500700000002f0000001f7691944b9a3306 295fb5f1f57ca52090d35b50060606060606

最后20个字节应该(理论上)包含第一部分的SHA1哈希(完整字符串--20字节).但它不适合我.

尝试用PHP做到这一点,但没有运气.你能得到一场比赛吗?

票:

742713478fb3c36e014d004100 440041004e0041004e00000060 f347d15798c90100606b899c5a 98c9014d007900470072006f00 7500700000002f0000001f7691944b9a

附加到原始的票的sha1哈希:

3306295fb5f1f57ca52090d35b50060606060606

我的sha1哈希票:

b6ecd613698ac3533b5f853bf22f6eb4afb94239

这是故障单中的内容以及它的存储方式.FWIW,我可以提取用户名等,并发现各种分隔符. http://www.codeproject.com/KB/aspnet/Forms_Auth_Internals/AuthTicket2.JPG

编辑:我发现字符串最后由它在此之前经过的解密函数填充.我删除了最后6个字节并相应地调整了票据和哈希值.仍然不起作用,但我更接近.

Wel*_*bog 5

您的票证是根据十六进制字符串本身计算的.也许附加的哈希是在相同数据的另一个表示上计算的?