我正在寻找一种机制来生成用于重置用户密码的随机唯一字母数字键。
我朝这个方向进行了很多眼光检查,但看起来这不是显而易见的事情。
我已经尝试过类似的方法:
new String(encodeBase64URLSafe(UUID.randomUUID()));
Run Code Online (Sandbox Code Playgroud)
但是,在阅读以下文章之后:UUID.randomUUID()是否适合用作一次性密码?看起来这种方式并不完全正确。
如果您回答以下问题,将不胜感激:
使用UUID是安全的。链接的文章只是说,对于这种安全性来说,UUID可能有点过多。但是,好吧……如果您“太”安全了,没人会怪您。
UUID只是字母数字字符和破折号。因此,如果需要将其放在查询字符串或URL中,则没有任何可逃避的地方。如果需要,可以删除破折号以节省一些空间。但这不是必需的。
该机制也是安全的。两者(UUID和这一类)都将起作用。
对于这种安全性,您要做的就是确保令牌是随机生成的(甚至是部分生成的)。
| 归档时间: |
|
| 查看次数: |
2754 次 |
| 最近记录: |