Ruby SecureRandom生成相同的结果

时间:2017-12-20 12:57:35

标签: ruby-on-rails ruby uuid secure-random

有一项为每个用户生成uuid的任务,我们将其用作外部参考代码。我创建了一个rake任务来创建PromoLink,使用rubys SecureRandom类为每个用户生成uuid

ActiveRecord::Base.transaction do
  User.each { |user_id| PromoLink.create(user_id: user_id, guid: SecureRandom.uuid)}
end

这似乎仅在几周后进行一些侦察时起作用我注意到有18条记录具有相同的uuid,真正棘手的一点是它们并非都被发现彼此相邻,有一些是重复的,但后来有1000个user_id。正如您将看到一些created_at日期相距6.6秒。任何想法如何发生这种情况,我认为SecureRandom.uuid产生复制的可能性几乎是不可能的,所以18个重复看起来真是不可思议。

uuid-madness

0 个答案:

没有答案