【问题标题】:What's the difference between arc4random and random?arc4random 和 random 有什么区别?
【发布时间】:2010-05-08 13:16:21
【问题描述】:

arc4random 和 random 有什么区别?

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

    random 众所周知是可预测的,因此不能用于安全的伪随机数生成。 arc4random 是一个更新的、更难预测的伪随机数生成器。如果您没有将它用于任何安全的事情,random 将可以正常工作。

    【讨论】:

    • random 也比arc4random 快得多,这就是为什么你会使用它的原因。
    • @Colin Cislason:快多少?如果您不创建 1000 个随机数,会有什么不同吗?
    • @Emil 它可能没有那么大的效果。我自己没有进行任何测试。请参阅以下链接进行测试,但这与 rand 相比并使用了许多迭代:indieappsalliance.org/forum/viewtopic.php?f=10&t=13
    【解决方案2】:

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

    强烈建议您查阅正在部署程序的系统的文档(手册页等)。

    【讨论】:

    • 真的吗? -1?在点击向下箭头之前,您真的应该阅读有效的手册页。
    • 我不能代表投票给你的用户发言,但这个问题被标记为“iphone”。以“取决于您的系统”开头并提及 Linux 的答案可能不是合适的答案。
    猜你喜欢
    • 1970-01-01
    • 2018-05-10
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 2011-12-12
    • 2010-09-16
    相关资源
    最近更新 更多