在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 從Linux內(nèi)核中獲取真隨機(jī)數(shù)

            從Linux內(nèi)核中獲取真隨機(jī)數(shù)

            作者: 時(shí)間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

            [38070.575481] We get random number: 240443446

            [38070.575485] We get random number: -606998911

            [38070.575489] We get random number: 538794850

            [38070.575493] We get random number: -500786675

            [38070.575497] We get random number: -1240394927

            [38070.575501] We get random number: 1233931345

            [38070.575504] We get random number: 1488497117

            [38070.575508] We get random number: -177688514

            /dev/random /dev/urandom

            這兩個(gè)特殊設(shè)備都是字符型設(shè)備。我們可以在用戶空間通過read系統(tǒng)調(diào)用讀這兩個(gè)設(shè)備文件以此獲取隨機(jī)數(shù)。這兩個(gè)設(shè)備文件的區(qū)別在于:如果內(nèi)核熵池的估計(jì)值為0時(shí),

            /dev/random將被阻塞,而/dev/urandom不會(huì)有這個(gè)限制。

            #include

            #include

            #include

            #include

            #include

            /* 從min和max中返回一個(gè)隨機(jī)值 */

            int random_number(int min, int max)

            {

            static int dev_random_fd = -1;

            char *next_random_byte;

            int bytes_to_read;

            unsigned random_value;

            assert(max > min);

            if (dev_random_fd == -1)

            {

            dev_random_fd = open(/dev/random, O_RDONLY);

            assert(dev_random_fd != -1);

            }

            next_random_byte = (char *)random_value;

            bytes_to_read = sizeof(random_value);

            /* 因?yàn)槭菑?dev/random中讀取,read可能會(huì)被阻塞,一次讀取可能只能得到一個(gè)字節(jié),

            * 循環(huán)是為了讓我們讀取足夠的字節(jié)數(shù)來填充random_value.

            */

            do

            {

            int bytes_read;

            bytes_read = read(dev_random_fd, next_random_byte, bytes_to_read);

            bytes_to_read -= bytes_read;

            next_random_byte += bytes_read;

            }while(bytes_to_read > 0);

            return min + (random_value % (max - min + 1));

            }

            同樣,還可以用dd命令從/dev/urandom中獲取指定字節(jié)數(shù)的隨機(jī)值并寫入文件中保存--如果你需要以文件的形式提供隨機(jī)數(shù)的話。

            dd if=/dev/urandom of = file count = 1 bs = bytes


            上一頁(yè) 1 2 下一頁(yè)

            關(guān)鍵詞:

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉