1
cgcs 2018-09-09 15:23:36 +08:00
新的 intel 处理器应该没这个问题了
|
2
zwh2698 2018-09-09 15:26:40 +08:00 via Android
使用 ssl 的随机数会有改善
|
3
thedrwu 2018-09-09 15:28:26 +08:00 via Android
熵池
|
4
hhsuan 2018-09-09 15:31:43 +08:00 via Android
单靠软件是不行的,必须有硬件支持
|
5
carlclone 2018-09-09 15:32:17 +08:00
随机的随机种子
|
6
herozhang 2018-09-09 15:35:15 +08:00 via iPhone
有个随机数的网站,说是从大气白噪声和宇宙微波辐射来产生随机数
|
7
AzadCypress 2018-09-09 15:36:27 +08:00 via Android
真随机拿设备采环境噪声做种子
|
8
GeruzoniAnsasu 2018-09-09 15:36:47 +08:00
|
9
shakespaces 2018-09-09 15:49:14 +08:00 via Android
单软件允许联网的话可以用网上的一些 api
允许硬件的话,linux 有 /dev/random 和 /dev/urandom 可以使用 |
10
wevsty 2018-09-09 15:51:09 +08:00 1
Windows:
C 可以使用 C Run-Time Library 中提供的 rand_s(),或者直接调用 API RtlGenRandom() Linux 可以直接读取 /dev/random 或者 /dev/urandom 生产的数据。 跨平台 Cpp 可以使用 std::random_device (需要 C++11 以上) |
11
402124773 2018-09-09 15:57:18 +08:00
linux 下会用中断增加熵,一些随机中断,是可以用来产生随机数的吧
|
12
zjyl1994 2018-09-09 16:51:11 +08:00 via Android
可以考虑用密码学的随机生成器,那个随机性比较高
|
13
alvin666 2018-09-09 17:20:14 +08:00 via Android
linux 用 ssh 生成密钥据说是用的 cpu 热信息,putty 生成 key 是用鼠标在某区域划动
|
14
silhouette 2018-09-09 17:21:24 +08:00 via Android
硬件随机啊
|
15
newtype0092 2018-09-09 17:21:55 +08:00
rand()不就是“程序上也不能太复杂,也并不是一定要完全随机”吗?
|
16
innoink 2018-09-09 18:04:26 +08:00 via Android
use getrandom()
|
17
winglight2016 2018-09-09 18:08:03 +08:00 3
有第三方服务,号称真随机,不过,理论上说,宇宙大爆炸是第一动因,其他都不过是必然的结果,所以真随机的说法也很可疑
|
18
1024MB 2018-09-09 18:12:09 +08:00 via Android
必没有,除非你能证明整个宇宙是随机的
|
19
s609926202 2018-09-09 18:42:29 +08:00 via iPhone
mt_rand ?
|
20
t6attack 2018-09-09 18:51:24 +08:00
如果你的开发中用得上,自然能接触到解决方案。比在这问的专业多了。
|
21
iwtbauh 2018-09-09 18:58:04 +08:00 via Android
cat /dev/random 将返回真随机数
(至少) Linux 和 FreeBSD 都有这个特性 |
22
Caturra 2018-09-09 19:16:39 +08:00
C++的话 mt19937 应该挺随机的?(道听途说)
如果只要求看起来勉强随机,但各平台实现简单方便的话可以随机写一个 Rand 如下 做个模拟扔骰子测试一下感觉还行 ```C++ #include<iostream> using namespace std; unsigned int xjb=233; int Rand(){return (xjb=xjb*12345+23333)%6+1;} int main(){ int cnt=1e8, vis[7]={0}; while(cnt--) vis[Rand()]++; cnt=7; while(--cnt) cout<<vis[cnt]<<" "; return 0; } ``` |
23
icylogic 2018-09-09 19:40:48 +08:00 via iPhone
这种事情,你要拿需求去评估,才会知道你真正要的是啥。不然等于三千预算进笔记本吧。
|
24
lightening 2018-09-09 19:49:58 +08:00 via iPhone
Random.org API
|
25
takato 2018-09-09 20:15:27 +08:00
问题是,你需要多随机呢?至少要有个标准吧。。。
毕竟,不同的随机程度,成本是截然不同的。。 |
27
swkl86 2018-09-09 22:57:53 +08:00
只有我好奇楼主要拿那么精确的随机值用来干什么么?
小白没接触过大世面,求场景,求需求 |
29
reus 2018-09-10 00:13:30 +08:00
windows 和 linux 都有可以用于加密的随机发生源,linux 是 /dev/urandom,windows 是 CryptGenRandom
不是说 rand 就一定不够随机,要看具体的实现。rand 只是一个接口,可以有不同的实现 |
30
Phariel 2018-09-10 01:19:54 +08:00 via iPhone
|
31
mingl0280 2018-09-10 01:22:12 +08:00
C#有 RngCryptoServiceProvider 可以生成密码学安全的随机数。
|
32
liuyanjun0826 2018-09-10 03:26:53 +08:00 via Android
时钟随机就足够了,你不可能保证大家都同时起床吧
|
33
dangyuluo 2018-09-10 06:54:22 +08:00
好羡慕能遇到这种问题的人,我目前只要用一个 random_device + mt19973 就满足了。
|
34
imdong 2018-09-10 09:06:17 +08:00
获取用户键鼠操作
|
35
ipwx 2018-09-10 09:06:27 +08:00
脱离需求讲随机不太有意义。
譬如求积分,随机性只要保证统计随机性即可。 |
36
dychenyi 2018-09-10 10:09:07 +08:00
|
37
ifishman 2018-09-10 10:13:19 +08:00 via Android
随机真的比顺序好用么?
|
38
mandy0119 2018-09-10 10:14:10 +08:00
为什么我觉得用毫秒就可以了(滑稽脸),毕竟就算被伪造请求,每次网络延迟都不同,再不行固定加点 hashcode 后 3 位之类的
|
39
dychenyi 2018-09-10 10:24:12 +08:00
|
40
wenzhoou 2018-09-10 11:56:08 +08:00 via Android
就连气候都是一定程度可以预测的。原理可以看看蝴蝶效应。也许整个宇宙都是可以预测的呢。推荐大家看看刘慈欣的“ 镜子”。
|
41
pythonee 2018-09-10 11:56:56 +08:00
23 楼说得对,需要从数学角度上定义需求
|