如装置在Linux下产生真遂机数

  在翻阅Linux内核方面的书时发皓了壹个获取真遂机数的方法。

  linux内核将机具的物理坚硬件产生的噪声等(比如突发的键盘敲击,中缀次数,频比值,温度等等)放入体系的熵池/dev/random 和/dev/urandom 中放的坚硬是熵池中的片断遂机数据,/dev/random 里条放入熵池中到臻壹定熵值的情景,比如到臻比较的高的熵值的情景,阿谁时分据最混骚触动,因此读取/dev/random 中的遂机数据时会闭塞(熵池中遂机性也坚硬是所拥有熵值到臻壹定程度才会在此雕刻外面面拥有遂机数据),但他的遂机干用比/dev/urandom 更好点,/dev/urandom 曾经却以满意对加以稠密要寻求什分高需寻求遂机数的场景了。

  [root@test59 ~]# vi random.c

  #include

  int main( int argc, char** args )

  {

  ? unsigned long* seed=malloc( sizeof( unsigned long ) );

  ? FILE* file=fopen("/dev/random", "r");

  ? printf( "%d\n", sizeof( unsigned long ) );

  ? int i;

  ? for( i=0; i < 9999; ++i)

  ? {

  ? fread( seed, 1, sizeof( unsigned long ), file );?

  ? printf( "%lld\n", *seed );

  ? }

  ? return 1;

  }

  [root@test59 ~]# gcc random.c

  [root@test59 ~]# https://blog.csdn.net/qq_38055050/article/details/a.out

  4

  19941251665

  19270289895

  17908196899

  19952896273

  19796292007

  20353450353

  21115463529

  20863995845

  18673226572

  18264664191

  20194203122

  17676988606

  18187335585

  17527617129

  18539147318

  17684736786

  19253561163

  17469991849

  linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.kekoushop.com/a/ziyuan/291.html