【发布时间】:2016-06-15 11:23:34
【问题描述】:
我有一个属性为 token 的 Post 模型。
我正在使用SecureRandom.urlsafe_base64(length_of_token) 创建令牌。
令牌不需要不可猜测,但必须是唯一的。
我从 1 个字符长的标记开始,当它们全部用完(所有 64 种组合)时,我应该继续使用 2 个字符长的标记。
我应该如何检查 3 个字符长的标记是否有任何标记变体?
【问题讨论】:
-
方法参数指定字节数。因此,
urlsafe_base64(1)生成 256 个值,urlsafe_base64(2)生成 65,536 个值,依此类推 (256^n)。此外,假设已经创建了 65,535 个“长度”为 2 的标记(只剩下一个),你如何生成最后一个?
标签: ruby-on-rails ruby ruby-on-rails-5 ruby-2.3