首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >mod_auth_tkt - java实现

mod_auth_tkt - java实现
EN

Stack Overflow用户
提问于 2012-02-01 20:19:02
回答 1查看 397关注 0票数 0

是否有人使用Java实现了tkt cookie生成?

我一直在讨论如何生成iptstamp (可以使用pack函数在PHP中完成)和Java中的十六进制标记。

生成cookie的算法如下:

代码语言:javascript
运行
复制
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是可选的
EN

回答 1

Stack Overflow用户

发布于 2012-09-06 06:30:20

只需将IP地址转换为4个字节并附加时间戳即可。

代码语言:javascript
运行
复制
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

使用以下命令获取网络字节顺序。

代码语言:javascript
运行
复制
ByteBuffer bb = ByteBuffer.allocate(4096);
bb.order(ByteOrder.BIG_ENDIAN);

看见

网络订单短(Java)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9102678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档