新聞中心
實(shí)現(xiàn)

隨機(jī)數(shù)在生成加密算法、加密碼、日期序列號、句子組合和密鑰等密碼學(xué),游戲、統(tǒng)計學(xué)、數(shù)學(xué)、模擬等領(lǐng)域有廣泛的應(yīng)用。linux有自帶的隨機(jī)數(shù)生成函數(shù):/dev/random及/dev/urandom,其中/dev/random獲取的則是安全的隨機(jī)數(shù),而/dev/urandom獲取的則是非安全的隨機(jī)數(shù)??梢岳脙烧邅慝@取高效的隨機(jī)數(shù)在Linux中。
/dev/random主要通過分析系統(tǒng)的噪聲信號生成隨機(jī)數(shù),最初的背景噪聲默認(rèn)是溫度數(shù)據(jù),例如,可以創(chuàng)建一個隨機(jī)數(shù)文件:
$ cat /dev/random > /tmp/random-data
隨機(jī)數(shù)文件生成后,可以開始分析和產(chǎn)生有著充足隨機(jī)性的可信數(shù)據(jù),該數(shù)據(jù)可用來生成安全密鑰,執(zhí)行證書簽名等任務(wù):
$ jot -r -p 8 1 256 | shasum > /tmp/random-data
/dev/urandom主要是利用特殊的偽隨機(jī)數(shù)生成器來生成的隨機(jī)數(shù),它的生成只需要很少的系統(tǒng)資源,而無需耗費(fèi)太多計算能力,也會節(jié)省系統(tǒng)開銷,同時可以得到足夠的隨機(jī)數(shù),例如隨機(jī)選擇生成一個8位長密碼:
$ cat /dev/urandom | tr -dc 'a-zA-Za-z' | head -c 8
此外,/dev/urandom還可以通過生成較長的內(nèi)容用來創(chuàng)建隨機(jī)種子:
$ dd if=/dev/urandom of=/tmp/random-seed count=1
總之,Linux自帶的/dev/random和/dev/urandom函數(shù)可以迅速有效地生成隨機(jī)數(shù)。它們可以用來生成安全的加密碼、日期序列號、句子組合和密鑰、隨機(jī)種子等,有著廣泛的應(yīng)用。
成都創(chuàng)新互聯(lián)建站主營:成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。
網(wǎng)站名稱:Linux高效生成隨機(jī)數(shù)的函數(shù)(linux隨機(jī)數(shù)函數(shù))
文章來源:http://www.5511xx.com/article/dhjjcig.html


咨詢
建站咨詢
