Linux下获取伪随机数的方法(linux取随机数)

随机数是程序开发时经常会用到的,它能够为程序提供以个随机可变的数据源,以确保在每次执行程序时都能拥有新的数据变动。Linux系统也能够提供伪随机数的获取方式:

* 使用/dev/urandom获取伪随机数

实现方法:在/dev/文件夹下有一个叫_urandom_的文件,它可以提供足够的伪随机数,其访问方式为读取或者写入,但是由于是字节流的方式,因此需要自己处理才能拿到你想要的数据,比如把其读取出来用od命令即能转换成hex表示:

`cat /dev/urandom | od –A n -t x1 | tr -d ‘ \n’`

* 使用openssl获取伪随机数

实现方法:使用openssl命令来发出RAND_bytes函数来获取伪随机数,其语法为:

`openssl rand –hex 8`

该命令可以在linux系统下查看openssl版本是否存在,然后可以输入上述相应命令来实现。

* 使用/dev/random获取伪随机数:

实现方法:/dev/random也可以用来获取随机数,但是/dev/urandom由于拥有更多的伪随机数量,因此更多时候/dev/urandom会被用来替换/dev/random来获取伪随机数,并且也会有更快的获取速度。

总的来说,linux系统提供了多种获取伪随机数的方法,一般来说,/dev/urandom 方式最划算,而/dev/random正常情况比较慢,另外使用openssl方法也是另外一种可以实现获取伪随机数的很好方式,大家根据实际需求来选择适合自己的伪随机数获取方式。


数据运维技术 » Linux下获取伪随机数的方法(linux取随机数)