1

我想为我的博客应用程序中的帖子生成唯一的帖子标识符。

目前我正在使用SecureRandom.hex(10)为我的博客网站生成唯一的帖子标识符,但我不确定 SecureRandom 是否安全。

有没有其他方法可以做到这一点?

4

2 回答 2

3

如果有人只寻找唯一的数字令牌。我宁愿使用基于时间的方法。对于不太频繁的请求(每秒最多一个)。您可以使用

Time.now.to_i

以字符串形式获取它Time.now.to_i.to_s 如果您在生成令牌时处理频繁的请求(每秒数千个)。使用浮动对话

Time.now.to_f #1532415770.0032046

要以字符串形式获取它,您可以使用,Time.now.to_f.to_s.gsub(".", "")但不推荐。

在当前宇宙中,上述价值的忏悔机会接近于零。

于 2018-07-24T07:13:42.470 回答
2

来自 Ruby 文档:

该库是安全随机数生成器的接口,适用于在 HTTP cookie 等中生成会话密钥。

我有类似的问题,我使用了 Digest 库。

Digest::MD5.hexdigest(post.title + post.created_at.to_s) #=> "b4809d..."
于 2015-12-20T15:30:15.103 回答