如何在 Rails 4 上为 Ruby 中的 post 生成唯一的随机 ID?
How to generate a unique random id for post in Ruby on Rails 4?
我想在我的博客应用程序中为 post 生成唯一的 post 标识符。
目前我正在使用 SecureRandom.hex(10)
为我的博客网站生成唯一的 post 标识符,但我不确定用于此目的的 SecureRandom 是否安全。
还有其他方法吗?
来自 Ruby 文档:
This library is an interface for secure random number generator which is suitable for generating session key in HTTP cookies, etc.
我有类似的问题,我使用了 Digest 库。
Digest::MD5.hexdigest(post.title + post.created_at.to_s) #=> "b4809d..."
如果有人正在寻找唯一的数字标记。我宁愿使用基于时间的方法。对于不太频繁的请求(每秒最多一个)。您可以使用
Time.now.to_i
在字符串中获取它Time.now.to_i.to_s
如果您在生成令牌时处理频繁的请求(每秒数千次)。使用浮动对话
Time.now.to_f #1532415770.0032046
要在字符串中获取它,您可以使用 Time.now.to_f.to_s.gsub(".", "")
尽管不推荐。
当前宇宙中以上数值的忏悔机率接近于零。
我想在我的博客应用程序中为 post 生成唯一的 post 标识符。
目前我正在使用 SecureRandom.hex(10)
为我的博客网站生成唯一的 post 标识符,但我不确定用于此目的的 SecureRandom 是否安全。
还有其他方法吗?
来自 Ruby 文档:
This library is an interface for secure random number generator which is suitable for generating session key in HTTP cookies, etc.
我有类似的问题,我使用了 Digest 库。
Digest::MD5.hexdigest(post.title + post.created_at.to_s) #=> "b4809d..."
如果有人正在寻找唯一的数字标记。我宁愿使用基于时间的方法。对于不太频繁的请求(每秒最多一个)。您可以使用
Time.now.to_i
在字符串中获取它Time.now.to_i.to_s
如果您在生成令牌时处理频繁的请求(每秒数千次)。使用浮动对话
Time.now.to_f #1532415770.0032046
要在字符串中获取它,您可以使用 Time.now.to_f.to_s.gsub(".", "")
尽管不推荐。
当前宇宙中以上数值的忏悔机率接近于零。