Linux真随机数的生成
生活随笔
收集整理的這篇文章主要介紹了
Linux真随机数的生成
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
今天看《白帽子講WEB安全》一書,看到筆者談到Linux如何實現(xiàn)真隨機數(shù)生成,感覺非常有用,記錄下來
#include<iostream> using namespace std; #include<unistd.h> #include<fcntl.h> #include<cmath> int main() {int randoms=open("/dev/random",O_RDONLY);int randomn;read(randoms,&randomn,sizeof(randomn));close(randoms);randomn=abs(randomn);cout<<randomn<<endl;return 0; }直接通過Linux的隨機數(shù)設備生成,基本貼近物理方法生成,屬于可靠手段,比使用時間作為種子生成隨機數(shù)要可靠的多
通常我們認為依據(jù)系統(tǒng)時鐘產(chǎn)生的隨機數(shù)是可靠的,實際上,時間是不斷增長的,只要攻擊者知道了時間基數(shù),便可以預測出時間種子產(chǎn)生的隨機數(shù)。所以書中提到的這種通過物理設備產(chǎn)生的隨機數(shù),缺乏規(guī)律性,更為可靠。物理生成隨機數(shù)的方法還有依據(jù):電壓波動、硬盤磁頭讀\寫的尋道時間、空中電磁波噪聲等。
轉(zhuǎn)載于:https://www.cnblogs.com/zlgxzswjy/p/6344827.html
總結(jié)
以上是生活随笔為你收集整理的Linux真随机数的生成的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (2)Spark下载与入门
- 下一篇: Linux 命令学习笔记