在翻閱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 )
return 1;
}[root@test59 ~]# gcc random.c
[root@test59 ~]# ./a.out
419941251665
19270289895
17908196899
19952896273
19796292007
20353450353
21115463529
20863995845
18673226572
18264664191
20194203122
17676988606
18187335585
17527617129
18539147318
17684736786
19253561163
17469991849
boost 隨機數發生器
在很多應用中都需要使用隨機數。本庫力求提供乙個高效的,通用的隨機數庫。boost庫有多種隨機數生成方式。先熟悉一下各種隨機數生成器的概念。數字生成器 number generator 它是乙個函式物件,沒有引數。類似於常見的rand 均勻隨機數生成器 uniform random number ge...
opencv隨機數發生器RNG
用opencv做演算法的朋友們肯定為隨機數煩惱過,新版本一直支援隨機數產生器啦,而且還繼續支援之前版本的c格式的函式,不過與時俱進,我這裡介紹c 的rng類。它可以壓縮乙個64位的i整數並可以得到scalar和array的隨機數。目前的版本支援均勻分布隨機數和gaussian分布隨機數。隨機數的產生...
產生隨意隨機數發生器
怎樣利用給定的隨機數發生器產生其它隨意你想得到的隨機數發生器。假定給定的隨機數發生器是變數產生離散變數x 服從某一分布 比如均勻分布。高斯分布等等 隨意你想得到的隨機數發生器滿足分布 y,如果x和 y其概率密度分布函式分布為 g x h y 假定用x 隨機數發生器產生 y隨機數發生器,以下分為2步求...