一種用于網(wǎng)絡(luò)設(shè)備的隨機(jī)數(shù)生成方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù),具體涉及一種用于網(wǎng)絡(luò)設(shè)備的隨機(jī)數(shù)生成方法及裝置。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中,通常利用當(dāng)前的時(shí)間來初始化隨機(jī)數(shù)種子,然后再通過調(diào)用隨機(jī)數(shù)產(chǎn)生函數(shù)產(chǎn)生隨機(jī)數(shù)。實(shí)際應(yīng)用中,利用當(dāng)前時(shí)間作為隨機(jī)種子會(huì)存在一定的缺點(diǎn):由于時(shí)間是有固定模式的,例如每秒的時(shí)間間隔是固定的,若以秒為基本單位,那么隨機(jī)數(shù)種子在一秒內(nèi)會(huì)完全一樣,從而使得隨機(jī)數(shù)產(chǎn)生函數(shù)所產(chǎn)生的隨機(jī)數(shù)在一秒內(nèi)也是完全一樣的,這樣就失去了隨機(jī)性。同理,如果以毫秒為基本單位,那么在一毫秒內(nèi)同樣會(huì)產(chǎn)生相同的隨機(jī)數(shù)。當(dāng)所產(chǎn)生的隨機(jī)數(shù)作為密碼時(shí),如果該規(guī)律被居心叵測(cè)的人掌握,那么會(huì)就破解密碼,從而對(duì)網(wǎng)絡(luò)設(shè)備的安全造成影響。
【發(fā)明內(nèi)容】
[0003]針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明提供一種用于網(wǎng)絡(luò)設(shè)備的隨機(jī)數(shù)生成方法及裝置,可以毫無規(guī)律的產(chǎn)生隨機(jī)數(shù)種子,提高所產(chǎn)生隨機(jī)數(shù)的有效性。
[0004]第一方面,本發(fā)明提供了一種用于網(wǎng)絡(luò)設(shè)備的隨機(jī)數(shù)生成方法,其特征在于,包括:
[0005]獲取網(wǎng)絡(luò)設(shè)備的多個(gè)設(shè)備參數(shù),并根據(jù)所述多個(gè)設(shè)備參數(shù)獲取數(shù)值value;
[0006]將該數(shù)值value代入隨機(jī)數(shù)發(fā)生器的初始化函數(shù)獲取隨機(jī)數(shù)種子;
[0007]將該隨機(jī)數(shù)種子代入隨機(jī)數(shù)發(fā)生器以生成隨機(jī)數(shù)。
[0008]可選地,根據(jù)所述多個(gè)設(shè)備參數(shù)獲取數(shù)值value的步驟中對(duì)所述多個(gè)設(shè)備參數(shù)采用加法處理從而得到數(shù)值value。
[0009]可選地,所述多個(gè)設(shè)備參數(shù)包括:接收?qǐng)?bào)文的字節(jié)數(shù)、當(dāng)前CPU利用率、當(dāng)前CPU溫度、當(dāng)前存儲(chǔ)設(shè)備已使用空間大小、用戶輸入次數(shù)和當(dāng)前時(shí)間中的一個(gè)或者多個(gè)。
[0010]可選地,當(dāng)所述接收?qǐng)?bào)文的字節(jié)數(shù)大于32位無符號(hào)數(shù)的最大值時(shí),需要進(jìn)行以下處理:
[0011 ]以第32位為界限將該報(bào)文分為第一部分與第二部分;
[0012]將該第一部分與第二部分進(jìn)行異或操作,并將異或操作結(jié)果作為最終接收?qǐng)?bào)文的字節(jié)數(shù)。
[0013]可選地,在當(dāng)前存儲(chǔ)設(shè)備已使用空間大小超過4GB時(shí),還包括以下步驟:
[0014]以第32位為界限將該當(dāng)前存儲(chǔ)設(shè)備已使用空間大小分為第三部分與第四部分;
[0015]將該第三部分與第四部分進(jìn)行異或操作,并將異或操作結(jié)果作為最終的當(dāng)前存儲(chǔ)設(shè)備已使用空間大小。
[0016]可選地,所述用戶輸入次數(shù)通過命令行界面與網(wǎng)頁界面獲取。
[0017]第二方面,本發(fā)明實(shí)施例還提供了一種用于網(wǎng)絡(luò)設(shè)備的隨機(jī)數(shù)生成裝置,包括:
[0018]數(shù)值value獲取模塊,用于獲取網(wǎng)絡(luò)設(shè)備的多個(gè)設(shè)備參數(shù),并根據(jù)所述多個(gè)設(shè)備參數(shù)獲取數(shù)值value;
[0019]隨機(jī)數(shù)種子獲取模塊,用于將該數(shù)值value代入隨機(jī)數(shù)發(fā)生器的初始化函數(shù)獲取隨機(jī)數(shù)種子;
[0020]隨機(jī)數(shù)獲取模塊,用于將該隨機(jī)數(shù)種子代入隨機(jī)數(shù)發(fā)生器以生成隨機(jī)數(shù)。
[0021 ] 可選地,所述數(shù)據(jù)value獲取模塊包括參數(shù)處理單元,該參數(shù)處理單元用于對(duì)所述多個(gè)設(shè)備參數(shù)采用加法處理從而得到數(shù)值value。
[0022]可選地,所述數(shù)據(jù)value獲取模塊用于獲取網(wǎng)絡(luò)設(shè)備的多個(gè)設(shè)備參數(shù),所述多個(gè)設(shè)備參數(shù)包括:接收?qǐng)?bào)文的字節(jié)數(shù)、當(dāng)前CPU利用率、當(dāng)前CPU溫度、當(dāng)前存儲(chǔ)設(shè)備已使用空間大小、用戶輸入次數(shù)和當(dāng)前時(shí)間中的一個(gè)或者多個(gè)。
[0023]可選地,所述數(shù)據(jù)value獲取模塊包括報(bào)文分割單元與第一異或操作單元;所述報(bào)文分割單元用于當(dāng)所述接收?qǐng)?bào)文的字節(jié)數(shù)大于32位無符號(hào)數(shù)的最大值時(shí),執(zhí)行以下步驟:
[0024]以第32位為界限將該報(bào)文分為第一部分與第二部分;
[0025]所述第一異或操作單元用于將該第一部分與第二部分進(jìn)行異或操作,并將異或操作結(jié)果作為最終接收?qǐng)?bào)文的字節(jié)數(shù);
[0026]和/或,
[0027]所述數(shù)據(jù)value獲取模塊還包括存儲(chǔ)空間分割單元與第二異或操作單元;所述存儲(chǔ)空間分割單元用于在當(dāng)前存儲(chǔ)設(shè)備已使用空間大小超過4GB時(shí),執(zhí)行以下步驟:
[0028]以第32位為界限將該當(dāng)前存儲(chǔ)設(shè)備已使用空間大小分為第三部分與第四部分;
[0029]所述第二異或操作單元用于將該第三部分與第四部分進(jìn)行異或操作,并將異或操作結(jié)果作為最終的當(dāng)前存儲(chǔ)設(shè)備已使用空間大小。
[0030]由上述技術(shù)方案可知,本發(fā)明通過利用該網(wǎng)絡(luò)設(shè)備自身的多個(gè)不確定的設(shè)備參數(shù)結(jié)合當(dāng)前時(shí)間獲取隨機(jī)數(shù)。由于多個(gè)不確定的設(shè)備參數(shù)相結(jié)合后所獲取的數(shù)值value值更加不確定,從而使得獲取的隨機(jī)數(shù)種子不會(huì)存在相同的情況,所得到的隨機(jī)數(shù)也會(huì)不同,從而提高所產(chǎn)生隨機(jī)數(shù)的有效性。
【附圖說明】
[0031]通過參考附圖會(huì)更加清楚的理解本發(fā)明的特征和優(yōu)點(diǎn),附圖是示意性的而不應(yīng)理解為對(duì)本發(fā)明進(jìn)行任何限制,在附圖中:
[0032]圖1是本發(fā)明實(shí)施例提供的一種用于網(wǎng)絡(luò)設(shè)備的隨機(jī)數(shù)生成方法流程圖;
[0033]圖2是本發(fā)明實(shí)施例提供的一種用于網(wǎng)絡(luò)設(shè)備的隨機(jī)數(shù)生成裝置框圖。
【具體實(shí)施方式】
[0034]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0035]第一方面,本發(fā)明實(shí)施例提供了一種用于網(wǎng)絡(luò)設(shè)備的隨機(jī)數(shù)生成方法,如圖1所示,包括:
[0036]S100、獲取網(wǎng)絡(luò)設(shè)備的多個(gè)設(shè)備參數(shù),并根據(jù)所述多個(gè)設(shè)備參數(shù)獲取數(shù)值value;
[0037]S200、將該數(shù)值value代入隨機(jī)數(shù)發(fā)生器的初始化函數(shù)獲取隨機(jī)數(shù)種子;
[0038]S300、將該隨機(jī)數(shù)種子代入隨機(jī)數(shù)發(fā)生器以生成隨機(jī)數(shù)。
[0039]下面結(jié)合實(shí)施例對(duì)本發(fā)明實(shí)施例提供的用于網(wǎng)絡(luò)設(shè)備的隨機(jī)數(shù)生成方法作進(jìn)一步說明。
[0040]首先,介紹S100、獲取網(wǎng)絡(luò)設(shè)備的多個(gè)設(shè)備參數(shù),并根據(jù)所述多個(gè)設(shè)備參數(shù)獲取數(shù)值value的步驟。
[0041]實(shí)際應(yīng)用中,網(wǎng)絡(luò)設(shè)備是一種特殊的設(shè)備,其本身有很多不確定的設(shè)備參數(shù)。本發(fā)明使用這些不確定的設(shè)備參數(shù)或者結(jié)合這些不確定的設(shè)備參數(shù),那么就可以產(chǎn)生隨機(jī)數(shù)了。較優(yōu)地,本發(fā)明實(shí)施例中多個(gè)設(shè)備參數(shù)包括:
[0042](I)接收?qǐng)?bào)文的字節(jié)數(shù)。通常情況下,各個(gè)硬件接口會(huì)有當(dāng)前接收的總報(bào)文字節(jié)數(shù),通過查詢各個(gè)硬件接口就可以獲取接收?qǐng)?bào)文的字節(jié)數(shù)。
[0043]需要說明的是,接收?qǐng)?bào)文的字節(jié)數(shù)有時(shí)會(huì)超過32位無符號(hào)數(shù)的最大值(SP4294967296)時(shí),會(huì)提高計(jì)算隨機(jī)數(shù)時(shí)的復(fù)雜度,降低隨機(jī)數(shù)的生成效率。較優(yōu)地,本發(fā)明中對(duì)超過上述最大值的所接收?qǐng)?bào)文的字節(jié)數(shù)進(jìn)行分割處理。以第32位為界限,將該接收?qǐng)?bào)文的字節(jié)數(shù)分為第一部分與第二部分;將該第一部分與第二部分進(jìn)行異或操作,并將異或操作結(jié)果作為最終接收?qǐng)?bào)文的字節(jié)數(shù)。本發(fā)明通過上述處理,可以大大降低計(jì)算隨機(jī)數(shù)時(shí)的復(fù)雜度。
[0044]可理解的是,本發(fā)明中對(duì)所接收?qǐng)?bào)文的字節(jié)數(shù)分割為兩部分,本領(lǐng)域技術(shù)人員也可以將所接收?qǐng)?bào)文分為更多部分,例如三部分、四部分或者N部分,利用該多個(gè)部分處理后的結(jié)果作為所接收?qǐng)?bào)文的字節(jié)數(shù),從而增加隨機(jī)數(shù)的不確定性。
[0045]可理解的是,本發(fā)明中對(duì)所接收的字節(jié)數(shù)進(jìn)行分割后進(jìn)行異或處理,本領(lǐng)域技術(shù)人員應(yīng)該知道例如同或、加法、位與等處理都可以實(shí)現(xiàn)上述目的,本發(fā)明不作限定。
[0046](2)當(dāng)前CPU利用率。由于CPU利用率是動(dòng)態(tài)的、隨機(jī)的,并且當(dāng)前CPU利用率也非常容易獲取,因此本發(fā)明實(shí)施例中將當(dāng)前(PU利用率作為其中的一個(gè)設(shè)備參數(shù)。
[0047](3)當(dāng)前CPU溫度。同當(dāng)前CPU利用率相同,CPU溫度也是動(dòng)態(tài)的、隨機(jī)的,并且當(dāng)前CPU溫度也非常容易獲取,因此本發(fā)明實(shí)施例中將當(dāng)前CPU溫度作為其中的一個(gè)設(shè)備參數(shù)。
[0048](4)當(dāng)前存儲(chǔ)設(shè)備的已經(jīng)使用的空間大小,單位字節(jié)。由于網(wǎng)絡(luò)設(shè)備需要不停的接收與傳輸數(shù)據(jù),將所接收的數(shù)據(jù)存儲(chǔ)到當(dāng)前存儲(chǔ)設(shè)備中,因此,對(duì)于當(dāng)前存儲(chǔ)設(shè)備來講,其已使用的空間大小是時(shí)刻變化的,且該已使用的空間大小容易獲取,故本發(fā)明實(shí)施例中將當(dāng)前存儲(chǔ)設(shè)備的已經(jīng)使用的空間大小作為其中的一個(gè)設(shè)備參數(shù)。
[0049]需要說明的是,當(dāng)存儲(chǔ)設(shè)備容量比較大時(shí),所采集的當(dāng)前存儲(chǔ)設(shè)備的已經(jīng)使用的空間大小會(huì)超過4GB(即超過32位無符號(hào)數(shù)的最大值)時(shí),本發(fā)明采用與處理接收?qǐng)?bào)文的字節(jié)數(shù)的相同方法,將該當(dāng)前存儲(chǔ)設(shè)備的已經(jīng)使用的空間大小進(jìn)行分割。以第32位為界限,將該當(dāng)前存儲(chǔ)設(shè)備的已經(jīng)使用的空間大小分為第三部分與第四部分;將該第三部分與第四部分進(jìn)行異或操作,并將異或操作結(jié)果作為最終的當(dāng)前存儲(chǔ)設(shè)備的已經(jīng)使用的空間大小。本發(fā)明通過上述處理,可以大大降低計(jì)算隨機(jī)數(shù)時(shí)的復(fù)雜度。
[0