gpt4 book ai didi

linux - 生成随机二进制文件

转载 作者:IT王子 更新时间:2023-10-29 00:18:04 25 4
gpt4 key购买 nike

为什么在我的(低端笔记本电脑)系统负载很小的情况下生成一个 1 KiB 的文件需要 5 分钟?我怎样才能更快地生成随机二进制文件?

$ time dd if=/dev/random of=random-file bs=1 count=1024
1024+0 records in
1024+0 records out
1024 bytes (1.0 kB) copied, 303.266 s, 0.0 kB/s

real 5m3.282s
user 0m0.000s
sys 0m0.004s
$

请注意 dd if=/dev/random of=random-file bs=1024 count=1 不起作用。它会生成一个随机长度的随机二进制文件,大多数运行时间都在 50 B 以下。有人对此也有解释吗?

最佳答案

那是因为在大多数系统上,/dev/random 使用来自环境的随机数据,例如来自外围设备的静态数据。它使用的真正随机数据(熵)池非常有限。在有更多数据可用之前,输出 block 。

使用 /dev/urandom 重试您的测试(注意 u),您会看到显着的加速。

参见 Wikipedia获取更多信息。 /dev/random 并不总是输出真正随机的数据,但在您的系统上显然是这样。

/dev/urandom 示例:

$ time dd if=/dev/urandom of=/dev/null bs=1 count=1024
1024+0 records in
1024+0 records out
1024 bytes (1.0 kB) copied, 0.00675739 s, 152 kB/s

real 0m0.011s
user 0m0.000s
sys 0m0.012s

关于linux - 生成随机二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1462893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com