在使用随机数据填充驱动器时,为什么GNU比dd更快?

Modified on: Wed, 09 Jan 2019 18:20:03 +0800

虽然在退役之前安全地擦除了硬盘驱动器,我注意到,dd if=/dev/urandom of=/dev/sda需要将近一整天,而shred -vf -n 1 /dev/sda只需要几个小时就可以使用同一台计算机和相同的驱动器。

这怎么可能?我想瓶颈是/dev/urandom的有限输出。 Shred是否使用了一些伪随机生成器,该生成器随机性较小,仅比urandom足以实现单一目的(即更高效)?

作者:user16115

最佳答案

粉碎使用内部伪随机生成器一>

  

默认情况下,这些命令使用内部伪随机生成器
  由少量熵初始化,但可以直接使用
  带有--random-source = file选项的外部源。错误是
  报告文件是否包含足够的字节。

  
  

例如,设备文件/ dev / urandom可用作源
  随机数据。通常,该设备会收集环境噪音
  从设备驱动程序和其他来源到熵池,并使用
  池生成随机位。如果池缺少数据,那么
  设备重用内部池以产生更多位,使用a
  加密安全的伪随机数发生器。但请注意
  该设备不是为大量随机数据生成而设计的
  相对较慢

我不相信随机数据比零(或任何其他字节值)的单一通行证先前的内容。

为了安全地停用驱动器,我使用大磁铁和大锤子。


相关问答

添加新评论