我需要生成随机令牌,这样当我稍后再看到它们时,我可以绝对确定它们实际上是由我生成的,也就是说,其他任何人都无法生成假令牌。这有点像序列号的产生,只是我不需要唯一性。实际上,它很像数字签名,除了我是唯一一个需要验证“签名”的人之外。生成一个令牌,我可以证明我生成了
我的解决方案如下:
- 有一个秘密的串S(这不是在开放的唯一数据)
- 对于每个令牌,生成一个随机字符串ķ
- 令牌= K + MD5(K + S)
验证令牌是一个I产生:
- 分裂传入令牌插入K + H
- 计算MD5(K + S),保证等于H
在我看来,它应该是不可能的任何人能够可靠地生成H,给出ķ而不小号这个解决方案是否过于简单?
你如何将令牌拆分为K + H?你怎么知道什么是K? – hasen 2008-11-27 06:46:12
他在字符串的末尾添加了MD5,MD5的固定长度为32个字符 – 2008-11-27 07:10:08