ruby的SecureRandom.uuid (Ruby 1.9.3)和UUID gem之间有什么区别吗? UUID gem是以前的做法吗?
从文档中我发现,gem更“安全”,可以生成真正独特的UUID,而SecureRandom.uuid则更像一个随机字符串,可能不是唯一的概率更大。此外,UUID似乎允许基于文件的持久性来协助实现这一点。
所以,我希望能听到比我更有见地的人的意见。
for MACH in `cat machine_list`; do ; ssh $MACH -c "restart something" & ; done
SecureRandom:
SecureRandom的代码会尝试使用openssl、/dev/urandom和win32等方式生成随机数...
从/dev/urandom中读取数据时,数据非常随机,但如果系统中没有足够的混沌因素,urandom将会虚构数据来提供随机数据。从/dev/random中读取数据时,数据非常非常随机,如果系统中没有足够的混沌因素,/dev/random将会阻塞。
UUID:
The UUID gem uses rand()
r = [rand(0x100000000)].pack "N"
获取 MAC 地址。
UUID 也不能提供 v4 UUIDs :)
实际上,如果我曾经遇到 md5 或 uuid 冲突,那我就会去买彩票!
OpenSSL::Random
获取的随机位强有力的保证。 - dbenhur