Linux真随机数的生成
生活随笔
收集整理的這篇文章主要介紹了
Linux真随机数的生成
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天看《白帽子講WEB安全》一書,看到筆者談到Linux如何實現真隨機數生成,感覺非常有用,記錄下來
#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的隨機數設備生成,基本貼近物理方法生成,屬于可靠手段,比使用時間作為種子生成隨機數要可靠的多
通常我們認為依據系統時鐘產生的隨機數是可靠的,實際上,時間是不斷增長的,只要攻擊者知道了時間基數,便可以預測出時間種子產生的隨機數。所以書中提到的這種通過物理設備產生的隨機數,缺乏規律性,更為可靠。物理生成隨機數的方法還有依據:電壓波動、硬盤磁頭讀\寫的尋道時間、空中電磁波噪聲等。
轉載于:https://www.cnblogs.com/zlgxzswjy/p/6344827.html
總結
以上是生活随笔為你收集整理的Linux真随机数的生成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (2)Spark下载与入门
- 下一篇: sai u 2016