arc4random和random有什么区别?

5

arc4random和random有什么区别?

2个回答

9

random 被认为是可预测的,因此不适用于安全伪随机数生成。 arc4random 是一种较新、不太可预测的伪随机数生成器。如果您不需要用它来做任何安全相关的事情,random 就可以胜任。


4
randomarc4random快得多,这就是你为什么会使用它的原因。 - Colin Gislason
2
@Colin Cislason:有多快?如果你不是在创建成千上万个随机数,是否会有所不同? - Emil
@Emil 这可能影响不大。我自己没有运行过任何测试。请参考以下链接进行测试,但是这与 rand 进行比较并使用了许多迭代:http://www.indieappsalliance.org/forum/viewtopic.php?f=10&t=13 - Colin Gislason

0

根据您的系统,random() 可能是旧的、可靠的和可预测的 UNIX random()。在现代 FreeBSD 系统和具有 /dev/random 设备的 Linux 2.6 系统上,默认的 random() 实现从 /dev/random 读取直到耗尽为止。这可能会产生比任何数字序列生成器更好的随机数,具体取决于您搅拌到 /dev/random 中的随机源。

强烈建议查阅部署程序所在系统的文档(man 页面等)。


真的吗? -1?在按下那个向下箭头之前,你真的应该去阅读该页面的文档。 - Wexxor
3
我不能代表给你点踩的用户发言,但是这个问题的标签是“iPhone”。开头说“根据你的系统”并提到Linux的回答可能不是一个合适的答案。 - user371320

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接