是否有人使用Java实现了tkt cookie生成?
我一直在讨论如何生成iptstamp (可以使用pack函数在PHP中完成)和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以网络字节顺序作为二进制数填充客户端IP地址,字节4-7以网络字节顺序填充时间戳作为二进制数字。hextimestamp
是8个字符长的十六进制数,用来表示in标记中的时间戳。token_list
是该用户可选的以逗号分隔的访问令牌列表.
如果为特定区域设置了TKTAuthToken,则检查此列表。user_data
是可选的发布于 2012-09-06 06:30:20
只需将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);
看见
https://stackoverflow.com/questions/9102678
复制相似问题