- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
ruby 的 SecureRandom.uuid(Ruby 1.9.3)和 UUID gem 之间有区别吗? UUID gem 是“旧”的做事方式吗?
从文档中我了解到,gem 更“安全”地成为真正唯一的 UUID,而 SecureRandom.uuid 更像是一个随机字符串,它更有可能不唯一。此外,UUID 似乎允许基于文件的持久性来协助解决此问题。
所以我希望听到一些比我对此更有见识的人的意见。
最佳答案
有几种生成 UUID 的方法。
维基百科很好地列出了它们。
http://en.wikipedia.org/wiki/Universally_unique_identifier
v4 UUID:
关于随机的关键思想是,当与加密相关时,它实际上很难生成。大多数随机数生成器都是一个数学公式,只需要看起来是随机的,并且适用于大多数应用程序。许多程序会使用 $pid |时间,生成随机种子。
这不是很有希望......我知道请求是什么时候生成的,只有 65,534 个 pids。我可以从中找出随机种子。
因此,如果您在同一时间(同一秒)使用 $pid | 为您的 UUIDv4 数字生成器播种time() 在 100 台机器上使用 PID 号,那么你(我猜)有 100/65536 的重复机会。这可以像这样很容易地完成
for MACH in `cat machine_list`; do ; ssh $MACH -c "restart something" & ; done
安全随机数:
The code from SecureRandom, tries openssl, the /dev/urandom, then win32...
当从/dev/urandom 读取时,它是非常随机的,但如果系统中没有足够的困惑,urandom 会补足以提供随机数据。从/dev/random 读取时,它非常随机,如果没有足够的困惑,/dev/random 将阻塞。
UUID:
The UUID gem uses rand()
r = [rand(0x100000000)].pack "N"
对于 mac 地址。
UUID 也不提供 v4 UUID :)
实际上,如果我遇到 md5 或 uuid 冲突,我就是在买彩票!
关于ruby - SecureRandom.uuid 与 UUID gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16650764/
我想咨询一些关于 Java 中 SecureRandom 的常见神话、安全与性能权衡的问题。 在网上查了一段时间,整理了以下资料。我希望这里的人能帮助我确认我得到了什么,并希望对实际选择实现的内容有一
我正在尝试使用 SecureRandom 生成随机值,特别是它对流的支持。理想情况下,值应该在恒定的基础上生成,因此流可以是无限的: SecureRandom secureRandom = new S
我想知道 Docker 容器中的随机(或伪随机)序列生成,但遇到了另一个有趣的行为。 直接从 /dev/urandom 读取 8000000 字节并使用 ENT 测试结果时给出以下内容: Entrop
我需要生成加密的安全、随机和唯一字符串,每个字符串都将用作实际上是访问 token 。为此,我计划使用 Java 的 SecureRandom 类。但是,我不确定 SecureRandom 能否保证唯
我有一个使用 SHA1PRNG 的 SecureRandom 生成器: SecureRandom rnd = SecureRandom.getInstance("SHA1PRNG"); 让我们假设这个
我在我的安卓客户端和服务器(Servlet)中得到了一个随机数。我在客户端和服务器中使用相同的 SecureRandom 算法(“SHA1PRNG”)。两者的种子值相同。但是我得到的输出数字在客户端和
我有一个需要加盐密码的应用程序。为了生成盐,我决定使用 SecureRandom。当我在我的 Windows 机器上时,一切都很好。然后我尝试在基于 Linux 的机器 (Centos 5) 上运行我
这是生成密码盐的正确方法吗? SecureRandom random = new SecureRandom(); byte[] salt = random.genera
我正在尝试按照以下方式打乱整数数组, 来自http://en.wikipedia.org/wiki/Fisher-Yates_shuffle , “当 Fisher–Yates shuffle 与伪随
在调查为什么我的 Ubuntu 15 上的 tomcat 8 服务器在启动时没有响应时,事实证明它花费了大量时间来尝试创建 SecureRandom 的实例。为什么会这样以及如何解决? May 19,
我们有一个生成随机临时密码的业务需求。根据用例,此类调用的数量预计非常低(约 400 个调用/天)。根据互联网上的各种建议以及阅读了许多关于 SO 的类似帖子后,我们决定使用 java.securit
尽管在阅读了很多关于 SecureRandom 的文章之后,我还是对 Java 中 SecureRandom 安全 API 的使用产生了疑问。在下面的示例中。 public class SecureR
我找到了很多关于 SecureRandom 的例子看起来像这样的类: Random random = new SecureRandom(); int randomInteger = random.ne
假设你做简单的事情: public class Main { public static void main(String[] args) { long started = S
SecureRandom 线程安全吗?也就是初始化之后,能否依赖对下一个随机数的访问是线程安全的?检查源代码似乎表明它是,this bug report似乎表明它缺乏作为线程安全的文档是一个 java
我正在尝试使用 SecureRandom 在我的 java 项目中生成随机数。但是对于如何为 SecureRandom 保留我的对象,我有点困惑。它应该是一个 static 类成员。我不打算从外面打电
我有一个使用 SecureRandom 实例并获取下一个随机数的类。 让我们说这个例子是: public class ExampleClass() { public void method()
关于SecureRandom,我有些不明白。以这里的代码为例: import java.security.SecureRandom; import java.math.BigInteger; publ
来自 java.util.Random 的 java.security.SecureRandom 种子是否会削弱加密强随机数生成器? 我看到这段代码,想知道为什么要以这种特定的方式完成。 random
在我的群组实体中,我生成一个随 secret 钥,用作“共享代码”:人们可以使用此代码邀请并找到彼此。以下是我的使用方法: public function __construct() { //
我是一名优秀的程序员,十分优秀!