我需要生成隨機令牌,這樣當我稍後再看到它們時,我可以絕對確定它們實際上是由我生成的,也就是說,其他任何人都無法生成假令牌。這有點像序列號的產生,只是我不需要唯一性。實際上,它很像數字簽名,除了我是唯一一個需要驗證「簽名」的人之外。生成一個令牌,我可以證明我生成了
我的解決方案如下:
- 有一個祕密的串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