【发布时间】:2017-04-15 19:24:28
【问题描述】:
仅使用 java 8,没有其他库,我需要生成一个在 5 分钟内过期的唯一令牌,但我不想将创建时间保存在 DB 上,而是将创建时间存储在令牌中以对其进行解码以后用的时候。
我该怎么做?
【问题讨论】:
-
占用创建时间并为其添加一个 MAC,这样就不会轻易更改它。但是,如果您每毫秒发出多个令牌,这将不是唯一的。如果需要,可以添加计数器值。
-
这似乎是一个概念问题而不是编程问题。您可以通过
System.currentTimeMillis()获取创建时间。你用那个long做什么取决于你的令牌的性质和你需要什么样的安全性。或者您如何验证令牌的正确性。我想,仍然必须有一个数据库存储,不是吗?
标签: java java-8 token access-token