首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SecureRandom.uuid与UUID创业板

SecureRandom.uuid与UUID创业板
EN

Stack Overflow用户
提问于 2013-05-20 13:36:20
回答 1查看 9.1K关注 0票数 13

红宝石的SecureRandom.uuid (Ruby1.9.3)和UUID之间有什么区别吗?UUID宝石是一种“旧”的做事方式吗?

从文档中我了解到,gem作为一个真正唯一的UUID更“安全”,而SecureRandom.uuid更像是一个随机字符串,更有可能不是唯一的。此外,UUID似乎允许基于文件的持久化来帮助这一点。

所以我希望听到一些比我更有洞察力的人对这件事的看法。

EN

回答 1

Stack Overflow用户

发布于 2013-07-11 01:01:32

有几种生成UUID的方法。

维基百科在列出它们方面做得很好。

identifier

v4 UUID:

关于随机的关键思想是,当涉及到加密时,这实际上是很难生成的。大多数随机数生成器是一个数学公式,只需看起来是随机的,对于大多数应用程序来说都很好。许多程序都会使用$pid _\_产生一个随机的种子。

不是很有希望..。我知道请求是什么时候生成的,只有65,534个pids。我可以从中找出随机的种子。

因此,如果您在与UUIDv4数相同的时间(同一秒)在100台机器上通过PID数在100台机器上使用$pid _\_这样做是相当容易的。

代码语言:javascript
复制
for MACH in `cat machine_list`; do ; ssh $MACH -c "restart something" & ; done

SecureRandom:

SecureRandom的代码,尝试openssl,/dev/urandom,然后是win32.

当从/dev/urandom读取时,它是非常随机的,但是如果系统中没有足够的混乱,urandom将提供随机数据。当从/dev/随机读取时,它的“非常随机”,如果没有足够的混乱,/dev/随机将被阻塞。

UUID:

UUID创业板使用rand() R=兰德(0x100000000).pack "N“

为mac地址。

UUID也不提供v4 UUID :)

实际上,如果我有一个md5或uuid碰撞,我是买彩票!

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16650764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档