比如说对方 Excel 有 1-1000 共 1000 个数字,每次随机出 100 个数字, 2-3 次之后能不能推算出对方下一次要出的100个数字?
1
lazycat Jan 31, 2016 via Android
能的话还叫随机数?
|
2
wenssh Jan 31, 2016 via iPhone
理论上可以,实际可能并不行。一般伪随机数都会有一个随机因子,同一个随机数生成器如果两次输入都给同一个随机因子的话会产生同样的输出,实际上游戏开发中的录像功能就利用了这个特性来减少打小。
对于你这个问题,第一,你要确保你有一个一模一样的随机数生成器,第二,你要知道这个随机因子是什么。 |
3
wenssh Jan 31, 2016 via iPhone
随机因子这个看写代码的人,有的拿个本机时间,有的会取 mac 地址 cpu 温度这种来尽量保证随机。
|
4
edsgerlin Jan 31, 2016 @wenssh 新 CPU ( Intel 的话是 Broadwell , Skylake , AMD 也有,不了解)都有 DRNG ,直接一个 RDSEED 指令就能取到通过 CPU 电子噪声生成的真随机数。
|
5
billlee Jan 31, 2016
Excel 应该不会用安全随机数算法吧,收集足够多的输出序列后应该是可以预测的
|
7
ilotuo Jan 31, 2016
大神真多..
|
11
vibbow Jan 31, 2016 via Android
@billlee Excel 应该是直接调用 Windows 的随机数生成算法的。
Windows 的随机数生成器算法是会调用 真•随机数 生成器当种子的 |
13
just1 Jan 31, 2016 via Android
excel 的是真随机数吧,我记得老是有讲过
|
14
Mutoo Feb 1, 2016
《网络游戏安全揭密》一书中的提到过预测随机数的案例:
http://book.51cto.com/art/200912/172452.htm 此外 Excel 使用的是伪随机数,但没有明确种子的生成算法, https://support.microsoft.com/zh-cn/kb/828795 更多讨论可以参考这个: http://answers.microsoft.com/en-us/office/forum/office_2003-excel/what-define-the-random-seed-within-excel/49085e19-3a63-4191-92db-27da5428b435?auth=1 |