專利名稱:一種數(shù)據(jù)處理方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及ー種數(shù)據(jù)處理方法和裝置。
背景技術(shù):
數(shù)據(jù)是對(duì)事實(shí)、概念或指令的一種表達(dá)形式,可由人工或自動(dòng)化裝置進(jìn)行處理。數(shù)據(jù)的形式可以是數(shù)字、文字、圖形或聲音等,而數(shù)據(jù)在經(jīng)過(guò)解釋并賦予一定的意義后,便成為信息。數(shù)據(jù)處理是對(duì)數(shù)據(jù)的采集、存儲(chǔ)、檢索、加工、變換和傳輸,貫穿于社會(huì)生產(chǎn)和生活的各個(gè)領(lǐng)域,基本的目的是從大量的、可能是雜亂無(wú)章的、難以理解的數(shù)據(jù)中抽取并推導(dǎo)出對(duì)某些特定的人們來(lái)說(shuō)是有價(jià)值和意義的數(shù)據(jù)。
在信息安全技術(shù)中,經(jīng)常使用散列(Hash)函數(shù)來(lái)驗(yàn)證消息的完整性。散列函數(shù)對(duì)不同長(zhǎng)度的輸入信息進(jìn)行處理,得到長(zhǎng)度固定的輸出信息,該固定長(zhǎng)度的輸出信息為輸入消息的散列或消息摘要。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下缺陷現(xiàn)有的使用散列函數(shù)的數(shù)據(jù)處理方法,效率較低,且無(wú)法有效地防止數(shù)據(jù)被篡改。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了ー種數(shù)據(jù)處理方法和裝置,以提高數(shù)據(jù)處理的效率。本發(fā)明實(shí)施例提出ー種數(shù)據(jù)處理方法,包括以下步驟Al、檢測(cè)數(shù)據(jù)處理信號(hào);A2、判斷是否檢測(cè)到所述數(shù)據(jù)處理信號(hào),如果檢測(cè)到,則執(zhí)行步驟A3;否則,返回步驟Al ;A3、對(duì)第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;A4、將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,將所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第一預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值;A5、將第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第三存儲(chǔ)區(qū);A6、根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;A7、對(duì)第六存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;AS、將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;A9、根據(jù)所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將第二預(yù)設(shè)值寫入所述第六存儲(chǔ)區(qū)中;A10、將所述第一存儲(chǔ)單元中的數(shù)據(jù)與第三預(yù)設(shè)值的乘積賦值給第二存儲(chǔ)單元中的數(shù)據(jù),將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),將所述第一存儲(chǔ)單元中的數(shù)據(jù)減所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),對(duì)第一指針寄存器中的數(shù)據(jù)進(jìn)行初始化;
All、對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;A12、根據(jù)所述第一指針寄存器中的數(shù)據(jù)和所述第一存儲(chǔ)區(qū)的大小,從所述第六存儲(chǔ)區(qū)中選取數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū);根據(jù)所述第一存儲(chǔ)區(qū)的大小,對(duì)所述第一指針寄存器中的數(shù)據(jù)和所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;A13、根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù) ,對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;A14、判斷所述第一存儲(chǔ)單元中的數(shù)據(jù)是否大于零,如果大于零,則返回步驟All ;否則,執(zhí)行步驟A15;A15、將所述第三存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第八存儲(chǔ)區(qū)中;
A16、對(duì)所述第一存儲(chǔ)區(qū)、所述第二存儲(chǔ)區(qū)和所述第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;A17、將所述第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,將所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第四預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值;A18、將所述第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第三存儲(chǔ)區(qū);A19、根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;A20、將所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第八存儲(chǔ)區(qū)的大小對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;A21、根據(jù)所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第一存儲(chǔ)區(qū)的位置,將所述第二預(yù)設(shè)值寫入所述第一存儲(chǔ)區(qū)中;A22、將所述第一存儲(chǔ)單元中的數(shù)據(jù)與所述第三預(yù)設(shè)值的乘積賦值給所述第二存儲(chǔ)單元中的數(shù)據(jù),將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第一存儲(chǔ)區(qū);A23、根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;A24、從所述第三存儲(chǔ)區(qū)中讀取ー個(gè)字節(jié)的數(shù)據(jù),將讀取到的一個(gè)字節(jié)的數(shù)據(jù)的取值作為索引,從所述第三存儲(chǔ)區(qū)中讀取預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù);A25、根據(jù)讀取到的預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù),輸出數(shù)據(jù)處理結(jié)果。本發(fā)明實(shí)施例還提出ー種數(shù)據(jù)處理裝置,包括檢測(cè)模塊、第一判斷模塊、第一處理模塊、第二處理模塊、第二判斷模塊和第三處理模塊,其中,所述檢測(cè)模塊,用于檢測(cè)數(shù)據(jù)處理信號(hào);所述第一判斷模塊,用于判斷所述檢測(cè)模塊是否檢測(cè)到所述數(shù)據(jù)處理信號(hào),在判斷所述檢測(cè)模塊檢測(cè)到所述數(shù)據(jù)處理信號(hào)時(shí),觸發(fā)所述第一處理模塊;所述第一處理模塊,用于對(duì)第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,將所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第一預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值;將第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第三存儲(chǔ)區(qū);根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;對(duì)第六存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將第二預(yù)設(shè)值寫入所述第六存儲(chǔ)區(qū)中;將所述第一存儲(chǔ)單元中的數(shù)據(jù)與第三預(yù)設(shè)值的乘積賦值給第二存儲(chǔ)單元中的數(shù)據(jù),將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),將所述第一存儲(chǔ)単元中的數(shù)據(jù)減所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),對(duì)第一指針寄存器中的數(shù)據(jù)進(jìn)行初始化,并觸發(fā)所述第二處理模塊;所述第二處理模塊,用于對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;根據(jù)所述第一指針寄存器中的數(shù)據(jù)和所述第一存儲(chǔ)區(qū)的大小,從所述第六存儲(chǔ)區(qū)中選取數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū);根據(jù)所述第一存儲(chǔ)區(qū)的大小,對(duì)所述第一指針寄存器中的數(shù)據(jù)和所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中,并觸發(fā)所述第二判斷模塊;所述第二判斷模塊,用于判斷所述第一存儲(chǔ)單元中的數(shù)據(jù)是否大于零,如果大于零,則觸發(fā)所述第二處理模塊;否則,觸發(fā)所述第三處理模塊; 所述第三處理模塊,用于將所述第三存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第八存儲(chǔ)區(qū)中;對(duì)所述第一存儲(chǔ)區(qū)、所述第二存儲(chǔ)區(qū)和所述第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;將所述第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,將所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第四預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值;將所述第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第三存儲(chǔ)區(qū);根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;將所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第八存儲(chǔ)區(qū)的大小對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第一存儲(chǔ)區(qū)的位置,將所述第二預(yù)設(shè)值寫入所述第一存儲(chǔ)區(qū)中;將所述第一存儲(chǔ)單元中的數(shù)據(jù)與所述第三預(yù)設(shè)值的乘積賦值給所述第二存儲(chǔ)單元中的數(shù)據(jù),將所述第二存儲(chǔ)単元中的數(shù)據(jù)寫入所述第一存儲(chǔ)區(qū);根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;從所述第三存儲(chǔ)區(qū)中讀取ー個(gè)字節(jié)的數(shù)據(jù),將讀取到的一個(gè)字節(jié)的數(shù)據(jù)的取值作為索引,從所述第三存儲(chǔ)區(qū)中讀取預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù);根據(jù)讀取到的預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù),輸出數(shù)據(jù)處理結(jié)果。本發(fā)明實(shí)施例能夠通過(guò)對(duì)ー組或多組長(zhǎng)度不等、格式不同的數(shù)據(jù)進(jìn)行整合處理,輸出固定長(zhǎng)度、固定格式的數(shù)據(jù),提高了數(shù)據(jù)處理的效率,且輸出的數(shù)據(jù)具有隨機(jī)性好、處理過(guò)程不可逆等特點(diǎn)。
圖1-1、1-2是本發(fā)明實(shí)施例一提供的ー種數(shù)據(jù)處理方法流程圖;圖2-1、2_2是本發(fā)明實(shí)施例ニ提供的ー種數(shù)據(jù)處理方法流程圖;圖3是本發(fā)明實(shí)施例三提供的ー種數(shù)據(jù)處理裝置的結(jié)構(gòu)圖。
具體實(shí)施例方式下面將結(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ù)的范圍。本發(fā)明實(shí)施例一提供了ー種數(shù)據(jù)處理方法,如圖1-1、1_2所示,包括以下步驟步驟101,CPU檢測(cè)數(shù)據(jù)處理信號(hào)。步驟102,CPU判斷是否檢測(cè)到數(shù)據(jù)處理信號(hào),如果檢測(cè)到數(shù)據(jù)處理信號(hào),則執(zhí)行步驟103 ;否則,返回步驟101。步驟103,CPU對(duì)第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化。具體地,CPU可以將第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)均設(shè)置為0x00,其中,第一存儲(chǔ)區(qū)的大小可以為64個(gè)字節(jié),用于存儲(chǔ)散列運(yùn)算的中間數(shù)據(jù);第ニ存儲(chǔ)區(qū)的大小可以為20個(gè)字節(jié),用于存儲(chǔ)輸出數(shù)據(jù)的中間數(shù)據(jù);第三存儲(chǔ)區(qū)的大小可以為20個(gè) 字節(jié),用于存儲(chǔ)輸出數(shù)據(jù)的結(jié)果。步驟104,CPU將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第一存儲(chǔ)區(qū)中,將第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第一預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到第一存儲(chǔ)區(qū)中,并根據(jù)第一存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值。具體地,CPU可以將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以第一存儲(chǔ)區(qū)的首地址為起始位置、大小與第四存儲(chǔ)區(qū)的大小相等的空間,例如,當(dāng)?shù)谒拇鎯?chǔ)區(qū)的大小為20個(gè)字節(jié)吋,CPU可以將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制從PDl到(pDl+19)的空間,其中,pDl為第一存儲(chǔ)區(qū)的首地址。CPU可以將第一存儲(chǔ)單元中的數(shù)據(jù)賦值為第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),例如,當(dāng)?shù)谝淮鎯?chǔ)區(qū)的大小為64個(gè)字節(jié)時(shí),第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)為64,CPU將第一存儲(chǔ)單元中的數(shù)據(jù)賦值為64。其中,第一存儲(chǔ)單元中的數(shù)據(jù)可以為數(shù)據(jù)長(zhǎng)度變量(Payload);第四存儲(chǔ)區(qū)的大小可以為20個(gè)字節(jié),用于存儲(chǔ)密鑰數(shù)據(jù);第一預(yù)設(shè)值可以用ipad表示,其取值可以為0x36。步驟105,CPU將第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第三存儲(chǔ)區(qū)。其中,第五存儲(chǔ)區(qū)的大小可以為20個(gè)字節(jié),用于存儲(chǔ)初始值,該初始值可以為預(yù)設(shè)的數(shù)值。步驟106,CPU根據(jù)第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到第三存儲(chǔ)區(qū)中。其中,散列運(yùn)算的輸出數(shù)據(jù)的中間數(shù)據(jù)可以存儲(chǔ)到第二存儲(chǔ)區(qū)。步驟107,CPU對(duì)第六存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化。具體地,CPU可以將第六存儲(chǔ)區(qū)中的數(shù)據(jù)均設(shè)置為0x00 ;第六存儲(chǔ)區(qū)的大小可以為192個(gè)字節(jié),用于存儲(chǔ)輸入數(shù)據(jù)。步驟108,CPU將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入第六存儲(chǔ)區(qū)中,并根據(jù)寫入到第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新。具體地,CPU可以將第七存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以第六存儲(chǔ)區(qū)的首地址為起始位置、大小與第七存儲(chǔ)區(qū)的大小相等的空間。其中,第七存儲(chǔ)區(qū)的大小可以為8字節(jié),用于存放時(shí)間因子;pD6為第六存儲(chǔ)區(qū)的首地址。例如,當(dāng)?shù)谄叽鎯?chǔ)區(qū)的大小為8個(gè)字節(jié)吋,CPU可以將第七存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到從PD6到(pD6+7)的空間。
CPU還可以將第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到第六存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),例如,當(dāng)被寫入到第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度為8字節(jié)時(shí),CPU可以對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)加8。步驟109,CPU根據(jù)第七存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第六存儲(chǔ)區(qū)的位置,將第二預(yù)設(shè)值寫入第六存儲(chǔ)區(qū)中。具體地,CPU可以確定第七存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第六存儲(chǔ)區(qū)的位置,并將第ニ預(yù)設(shè)值寫入到第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置。例如,當(dāng)?shù)谄叽鎯?chǔ)區(qū)中的數(shù)據(jù)被寫入到第六存儲(chǔ)區(qū)的位置為從PD6到(pD6+7)的空間時(shí),CPU可以將第二預(yù)設(shè)值寫入(PD6+8)。其中,第二預(yù)設(shè)值可以為0x80。步驟110,CPU將第一存儲(chǔ)單元中的數(shù)據(jù)與第三預(yù)設(shè)值的乘積賦值給第二存儲(chǔ)單元中的數(shù)據(jù),將第二存儲(chǔ)單元中的數(shù)據(jù)寫入第六存儲(chǔ)區(qū),將第一存儲(chǔ)單元中的數(shù)據(jù)減第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),對(duì)第一指針寄存器中的數(shù)據(jù)進(jìn)行初始化。
具體地,當(dāng)?shù)谌A(yù)設(shè)值可以為8吋,CPU可以將第一存儲(chǔ)單元中的數(shù)據(jù)與8的乘積賦值給第二存儲(chǔ)單元中的數(shù)據(jù)。CPU還可以將第二存儲(chǔ)單元中的數(shù)據(jù)寫入到以第六存儲(chǔ)區(qū)中的預(yù)設(shè)位置為結(jié)束位置、大小與第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小相等的空間。例如,當(dāng)預(yù)設(shè)位置為(PD6+63),第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小為8字節(jié)時(shí),CPU可以將第二存儲(chǔ)單元中的數(shù)據(jù)寫入從(PD6+56)到(pD6+63)的空間,其中,pD6為第六存儲(chǔ)區(qū)的首地址,第二存儲(chǔ)單元中的數(shù)據(jù)可以為消息長(zhǎng)度變量(Msglen)。當(dāng)?shù)谝淮鎯?chǔ)區(qū)的大小為64個(gè)字節(jié)吋,CPU可以將第一存儲(chǔ)單元中的數(shù)據(jù)減64。CPU還可以將第一指針寄存器中的數(shù)據(jù)賦值為O。步驟111,CPU對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化。具體地,CPU可以將第一存儲(chǔ)區(qū)中的數(shù)據(jù)均設(shè)置為0x00。步驟112,CPU根據(jù)第一指針寄存器中的數(shù)據(jù)和第一存儲(chǔ)區(qū)的大小,從第六存儲(chǔ)區(qū)中選取數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到第一存儲(chǔ)區(qū);根據(jù)第一存儲(chǔ)區(qū)的大小,對(duì)第一指針寄存器中的數(shù)據(jù)和第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新。具體地,CPU可以從地址(pD6+第一指針寄存器中的數(shù)據(jù))開始,從第六存儲(chǔ)區(qū)中選取大小與第一存儲(chǔ)區(qū)的大小相同的數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到第一存儲(chǔ)區(qū),將第一指針寄存器中的數(shù)據(jù)加第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),將第一存儲(chǔ)單元中的數(shù)據(jù)減第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。例如,當(dāng)?shù)谝淮鎯?chǔ)區(qū)的大小為64個(gè)字節(jié)吋,CPU可以從地址(pD6+第一指針寄存器中的數(shù)據(jù))開始,選取64個(gè)字節(jié)的數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到第一存儲(chǔ)區(qū),將第一指針寄存器中的數(shù)據(jù)加64,將第一存儲(chǔ)單元中的數(shù)據(jù)減64。步驟113,CPU根據(jù)第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到第三存儲(chǔ)區(qū)中。步驟114,CPU判斷第一存儲(chǔ)單元中的數(shù)據(jù)是否大于零,如果大于零,則返回步驟111 ;否則,執(zhí)行步驟115。步驟115,CPU將第三存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第八存儲(chǔ)區(qū)中。其中,第八存儲(chǔ)區(qū)的大小為20字節(jié),用于存放散列運(yùn)算結(jié)果。
步驟116,CPU對(duì)第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化。具體地,CPU可以將第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)均設(shè)置為OxOO0步驟117,CPU將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第一存儲(chǔ)區(qū)中,將第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第四預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到第一存儲(chǔ)區(qū)中,并根據(jù)第一存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值。具體地,CPU可以將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以第一存儲(chǔ)區(qū)的首地址為起始位置、大小與第四存儲(chǔ)區(qū)的大小相等的空間,例如,當(dāng)?shù)谒拇鎯?chǔ)區(qū)的大小為20個(gè)字節(jié)吋,CPU可以將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制從PDl到(pDl+19)的空間,其中,pDl為第一存儲(chǔ)區(qū)的首地址。CPU可以將第一存儲(chǔ)單元中的數(shù)據(jù)賦值為第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),例 如,當(dāng)?shù)谝淮鎯?chǔ)區(qū)的大小可以為64個(gè)字節(jié)時(shí),第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)為64,CPU將第一存儲(chǔ)單元中的數(shù)據(jù)賦值為64。其中,第四預(yù)設(shè)值可以用opad表示,其取值可以為0x5c。步驟118,CPU將第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第三存儲(chǔ)區(qū)。步驟119,CPU根據(jù)第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到第三存儲(chǔ)區(qū)中。步驟120,CPU將第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第一存儲(chǔ)區(qū)中,并根據(jù)第八存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新。具體地,CPU可以將第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以第一存儲(chǔ)區(qū)的首地址為起始位置、大小與第八存儲(chǔ)區(qū)的大小相等的空間。例如,當(dāng)?shù)诎舜鎯?chǔ)區(qū)的大小為20個(gè)字節(jié)吋,CPU可以將第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到從PDl到(pDl+19)的空間。CPU還可以將第一存儲(chǔ)單元中的數(shù)據(jù)加寫入到第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),即第八存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。例如,當(dāng)寫入到第一存儲(chǔ)區(qū)中的數(shù)據(jù),即第八存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度為20字節(jié)時(shí),CPU可以對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)加20。步驟121,CPU根據(jù)第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第一存儲(chǔ)區(qū)的位置,將第二預(yù)設(shè)值寫入第一存儲(chǔ)區(qū)中。具體地,CPU可以確定第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第一存儲(chǔ)區(qū)的位置,并將第ニ預(yù)設(shè)值寫入到第一存儲(chǔ)區(qū)中與確定出的位置相鄰的位置。例如,第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第一存儲(chǔ)區(qū)的位置為從PDl到(pDl+19)的空間,CPU可以將第二預(yù)設(shè)值寫入到(pDl+20)。其中,第二預(yù)設(shè)值可以為0x80。步驟122,CPU將第一存儲(chǔ)單元中的數(shù)據(jù)與第三預(yù)設(shè)值的乘積賦值給第二存儲(chǔ)單元中的數(shù)據(jù),將第二存儲(chǔ)單元中的數(shù)據(jù)寫入第一存儲(chǔ)區(qū)。具體地,當(dāng)?shù)谌A(yù)設(shè)值為8吋,CPU可以將第一存儲(chǔ)單元中的數(shù)據(jù)與8的乘積賦值給第二存儲(chǔ)單元中的數(shù)據(jù)。CPU還可以將第二存儲(chǔ)單元中的數(shù)據(jù)寫入到以第一存儲(chǔ)區(qū)中的預(yù)設(shè)位置為結(jié)束位置、大小與第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小相等的空間。例如,當(dāng)預(yù)設(shè)位置為(pDl+63),第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小為8字節(jié)時(shí),CPU可以將第二存儲(chǔ)單元中的數(shù)據(jù)寫入從(PD1+56)到(pDl+63)的空間,其中,pDl為第一存儲(chǔ)區(qū)的首地址。
步驟123,CPU根據(jù)第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到第三存儲(chǔ)區(qū)中。步驟124,CPU從第三存儲(chǔ)區(qū)中讀取ー個(gè)字節(jié)的數(shù)據(jù),將讀取的數(shù)據(jù)與第五預(yù)設(shè)值進(jìn)行與運(yùn)算,將運(yùn)算結(jié)果賦值給第二指針寄存器中的數(shù)據(jù)。具體地,CPU可以從第三存儲(chǔ)區(qū)中讀取存儲(chǔ)在首地址(pD3)的數(shù)據(jù),可以讀取存儲(chǔ)在尾地址(PD3+19)的數(shù)據(jù),還可以讀取存儲(chǔ)在第三存儲(chǔ)區(qū)中的其他位置的數(shù)據(jù)。當(dāng)?shù)谌鎯?chǔ)區(qū)的長(zhǎng)度已知時(shí),可以將保存在PD3到(PD3+19)之間的任意一個(gè)字節(jié)的數(shù)據(jù)與第五預(yù)設(shè)值進(jìn)行與運(yùn)算,將運(yùn)算結(jié)果賦值給第二指針寄存器中的數(shù)據(jù)。即,CPU可以將保存在pD3到(PD3+19)之間的預(yù)定位置的一個(gè)字節(jié)的數(shù)據(jù)與第五預(yù)設(shè)值進(jìn)行與運(yùn)算。其中,第五預(yù)設(shè)值可以為“OxOf”。例如,當(dāng)存儲(chǔ)在pD3 到(pD3+19)之間的數(shù)據(jù)為{Oxlf,0x86,0x98,0x69,OxOE,0x02,OxCA,0x16,0x61,0x50,OxEF,0x7F,0x19,OxDA,0x8E,0x94,0x5B,0x55,0x5A,0x09} 吋,(PD3+19)所指向的內(nèi)容與“ OxOf ”進(jìn)行與運(yùn)算的結(jié)果為“0x9”,CPU將第二指針寄存器中的數(shù)據(jù)賦值為“0x9”。步驟125,CPU對(duì)第三存儲(chǔ)單元中的數(shù)據(jù)和第四存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化。具體地,CPU可以將第三存儲(chǔ)單元中的數(shù)據(jù)和第四存儲(chǔ)單元中的數(shù)據(jù)均賦值為0,其中,第三存儲(chǔ)單元中的數(shù)據(jù)為第一計(jì)數(shù)變量,用于記錄從第三存儲(chǔ)區(qū)中的讀取的數(shù)據(jù)所占的字節(jié)數(shù);第四存儲(chǔ)單元中的數(shù)據(jù)可以為結(jié)果變量(Result)。步驟126,CPU根據(jù)第二指針寄存器中的數(shù)據(jù),從第三存儲(chǔ)區(qū)讀取ー個(gè)字節(jié)的數(shù)據(jù),將讀取的數(shù)據(jù)與第四存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行或運(yùn)算,將運(yùn)算結(jié)果賦值給第四存儲(chǔ)單元中的數(shù)據(jù),將第三存儲(chǔ)單元中的數(shù)據(jù)加I。具體地,CPU可以從地址(PD3+第二指針寄存器中的數(shù)據(jù))讀取ー個(gè)字節(jié)的數(shù)據(jù),將讀取的數(shù)據(jù)與第四存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行或運(yùn)算,并將運(yùn)算結(jié)果賦值給第四存儲(chǔ)單元中的數(shù)據(jù),將第三存儲(chǔ)單元中的數(shù)據(jù)加I。步驟127,CPU判斷第三存儲(chǔ)單元中的數(shù)據(jù)是否等于第六預(yù)設(shè)值,如果等于,則執(zhí)行步驟129 ;否則,執(zhí)行步驟128。其中,第六預(yù)設(shè)值可以為需要從第三存儲(chǔ)區(qū)讀取的數(shù)據(jù)所占的字節(jié)數(shù)。步驟128,CPU將第二指針寄存器中的數(shù)據(jù)加1,將第四存儲(chǔ)單元中的數(shù)據(jù)左移8位,并返回步驟126。例如,當(dāng)保存在pD3 到(pD3+19)之間的數(shù)據(jù)為{Oxlf,0x86,0x98,0x69,OxOE,0x02,OxCA,0x16,0x61,0x50,OxEF,0x7F,0x19,OxDA,0x8E,0x94,0x5B,0x55,0x5A,0x09},第二指針寄存器中的數(shù)據(jù)為“0x9”,第六預(yù)設(shè)值為4時(shí),經(jīng)過(guò)上述步驟處理后,第四存儲(chǔ)單元中的數(shù)據(jù)為“50EF7F19”。步驟129,CPU將第四存儲(chǔ)單元中的數(shù)據(jù)與第七預(yù)設(shè)值進(jìn)行與運(yùn)算,將運(yùn)算結(jié)果賦值給第四存儲(chǔ)單元中的數(shù)據(jù)。其中,第七預(yù)設(shè)值與第六預(yù)設(shè)值相對(duì)應(yīng),賦值后的第四存儲(chǔ)單元中的數(shù)據(jù)的最高位為O。例如,當(dāng)?shù)诹A(yù)設(shè)值為4時(shí),第七預(yù)設(shè)值為如果第四存儲(chǔ)單元中的數(shù)據(jù)為“50EF7F19”,則經(jīng)過(guò)本步驟處理后,Result的取值為“0x50EF7F19”。當(dāng)?shù)诹A(yù)設(shè)值為3時(shí),第七預(yù)設(shè)值為“0x7fffff ”;當(dāng)?shù)诹A(yù)設(shè)值為6時(shí),第七預(yù)設(shè)值為“0x7fffffffffff”。步驟130,CPU對(duì)第五存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化。具體地,CPU可以將第五存儲(chǔ)單元中的數(shù)據(jù)賦值為0,第五存儲(chǔ)單元中的數(shù)據(jù)可以為第二計(jì)數(shù)變量。步驟131,CPU判斷第五存儲(chǔ)單元中的數(shù)據(jù)是否小于第八預(yù)設(shè)值,如果小于,則執(zhí)行步驟132 ;否則,執(zhí)行步驟133。 其中,第八預(yù)設(shè)值可以為數(shù)據(jù)處理結(jié)果的長(zhǎng)度。步驟132,CPU將第四存儲(chǔ)單元中的數(shù)據(jù)對(duì)第九預(yù)設(shè)值取余,并根據(jù)第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,對(duì)取余得到的結(jié)果進(jìn)行存儲(chǔ);將第四存儲(chǔ)單元中的數(shù)據(jù)除以第九預(yù)設(shè)值得到的商賦值給第四存儲(chǔ)單元中的數(shù)據(jù),將第五存儲(chǔ)單元中的數(shù)據(jù)加1,并返回步驟131。具體地,CPU將第四存儲(chǔ)單元中的數(shù)據(jù)對(duì)第九預(yù)設(shè)值取余得到的結(jié)果存儲(chǔ)到地址(pD9+第五存儲(chǔ)單元中的數(shù)據(jù)),其中,第九預(yù)設(shè)值為10,pD9為第九存儲(chǔ)區(qū)的首地址,第九存儲(chǔ)區(qū)用于存儲(chǔ)數(shù)據(jù)處理結(jié)果。步驟133,CPU根據(jù)第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,將存儲(chǔ)在第九存儲(chǔ)區(qū)中的數(shù)據(jù)作為數(shù)據(jù)處理結(jié)果輸出。具體地,CPU可以將保存在pD9與(pD9+第五存儲(chǔ)單元中的數(shù)據(jù)-I)之間的數(shù)據(jù)作為數(shù)據(jù)處理結(jié)果輸出。例如,當(dāng)?shù)谒拇鎯?chǔ)單元中的數(shù)據(jù)為“0x50EF7F19”,第八預(yù)設(shè)值為9時(shí),經(jīng)過(guò)上述步驟處理后,第五存儲(chǔ)單元中的數(shù)據(jù)為9,CPU將保存在pD9所指向的地址與(pD9+8)所指向的地址之間的數(shù)據(jù)“357872921”輸出。當(dāng)?shù)谒拇鎯?chǔ)單元中的數(shù)據(jù)為“0x50EF7F19”,第八預(yù)設(shè)值為11時(shí),經(jīng)過(guò)上述步驟處理后,第五存儲(chǔ)單元中的數(shù)據(jù)為11,CPU將保存在pD9所指向的地址與(pD9+10)所指向的地址之間的數(shù)據(jù)“01357872921”輸出。本發(fā)明實(shí)施例能夠通過(guò)對(duì)ー組或多組長(zhǎng)度不等、格式不同的數(shù)據(jù)進(jìn)行整合處理,輸出固定長(zhǎng)度、固定格式的數(shù)據(jù),提高了數(shù)據(jù)處理的效率,且輸出的數(shù)據(jù)具有隨機(jī)性好、處理過(guò)程不可逆等特點(diǎn)。需要說(shuō)明的是,在本發(fā)明的其他實(shí)施方式中,可以直接將處理得到的第四存儲(chǔ)單元中的數(shù)據(jù)作為數(shù)據(jù)處理結(jié)果進(jìn)行輸出,例如,第四存儲(chǔ)單元中的數(shù)據(jù)為“50EF7F19”時(shí),可以將“50EF7F19”作為數(shù)據(jù)處理結(jié)果進(jìn)行輸出,同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的,且增強(qiáng)了輸出數(shù)據(jù)的形式的多祥化,輸出數(shù)據(jù)的形式可以包括字母加數(shù)字、純數(shù)字和純字母的形式。
在本發(fā)明的其他實(shí)施方式中,還可以獲取保存在pD9與(pD9+第五存儲(chǔ)單元中的數(shù)據(jù)-I)之間的數(shù)據(jù)的CRC (循環(huán)冗余校驗(yàn)碼)碼,并將該CRC碼附在上述數(shù)據(jù)的前面或后面,將包括上述數(shù)據(jù)以及該數(shù)據(jù)的CRC碼的整體作為數(shù)據(jù)處理結(jié)果輸出。上述實(shí)施方式同樣可以實(shí)現(xiàn)本發(fā)明的發(fā)明目的。 例如,當(dāng)經(jīng)過(guò)一系列處理后,第五存儲(chǔ)單元中的數(shù)據(jù)為9,保存在pD9與(pD9+第五存儲(chǔ)單元中的數(shù)據(jù)-I)之間的數(shù)據(jù)為“357872921”時(shí),可以計(jì)算“357872921”的CRC校驗(yàn)和10-(( 5+8+5+2+9+2+2)modl0=7,則將校驗(yàn)和“7 ”附在“357872921 ”之后得到“3578729217”,并將“3578729217”作為數(shù)據(jù)處理結(jié)果輸出。
實(shí)施例ニ本發(fā)明實(shí)施例ニ提供了ー種數(shù)據(jù)處理方法,如圖2-1、2_2所示,包括以下步驟步驟201,CPU檢測(cè)數(shù)據(jù)處理信號(hào)。步驟202,CPU判斷是否檢測(cè)到數(shù)據(jù)處理信號(hào),如果檢測(cè)到數(shù)據(jù)處理信號(hào),則執(zhí)行步驟203 ;否則,返回步驟201。步驟203,CPU對(duì)第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化。具體地,CPU可以將第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)均設(shè)置為0x00,其中,第一存儲(chǔ)區(qū)的大小可以為64個(gè)字節(jié),用于存儲(chǔ)散列運(yùn)算的中間數(shù)據(jù);第ニ存儲(chǔ)區(qū)的大小可以為20個(gè)字節(jié),用于存儲(chǔ)輸出數(shù)據(jù)的中間數(shù)據(jù);第三存儲(chǔ)區(qū)的大小可以為20個(gè)字節(jié),用于存儲(chǔ)輸出數(shù)據(jù)的結(jié)果。
步驟204,CPU將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第一存儲(chǔ)區(qū)中,將第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第一預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到第一存儲(chǔ)區(qū)中,并根據(jù)第一存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值。具體地,CPU可以將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以第一存儲(chǔ)區(qū)的首地址為起始位置、大小與第四存儲(chǔ)區(qū)的大小相等的空間,例如,當(dāng)?shù)谒拇鎯?chǔ)區(qū)的大小為20個(gè)字節(jié)吋,CPU可以將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制從PDl到(pDl+19)的空間,其中,pDl為第一存儲(chǔ)區(qū)的首地址。CPU可以將第一存儲(chǔ)單元中的數(shù)據(jù)賦值為第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),例如,當(dāng)?shù)谝淮鎯?chǔ)區(qū)的大小為64個(gè)字節(jié)時(shí),第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)為64,CPU將第一存儲(chǔ)單元中的數(shù)據(jù)賦值為64。其中,第一存儲(chǔ)單元中的數(shù)據(jù)可以為數(shù)據(jù)長(zhǎng)度變量(Payload);第四存儲(chǔ)區(qū)的大小可以為20個(gè)字節(jié),用于存儲(chǔ)密鑰數(shù)據(jù);第一預(yù)設(shè)值可以用ipad表示,其取值可以為0x36。步驟205,CPU將第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第三存儲(chǔ)區(qū)。其中,第五存儲(chǔ)區(qū)的大小可以為20個(gè)字節(jié),用于存儲(chǔ)初始值,該初始值可以為預(yù)設(shè)的數(shù)值。步驟206,CPU根據(jù)第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到第三存儲(chǔ)區(qū)中。步驟207,CPU對(duì)第六存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化。具體地,CPU可以將第六存儲(chǔ)區(qū)中的數(shù)據(jù)均設(shè)置為0x00 ;第六存儲(chǔ)區(qū)的大小可以為192個(gè)字節(jié),用于存儲(chǔ)輸入數(shù)據(jù)。步驟208,CPU將第十存儲(chǔ)區(qū)中的數(shù)據(jù)寫入第六存儲(chǔ)區(qū),并根據(jù)寫入到第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新。具體地,CPU可以將第十存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以第六存儲(chǔ)區(qū)的首地址為起始位置、大小與第十存儲(chǔ)區(qū)的大小相等的空間。其中,第十存儲(chǔ)區(qū)用于存儲(chǔ)suite信息,該suite信息為預(yù)定義的字符串格式數(shù)據(jù),用于說(shuō)明挑戰(zhàn)數(shù)據(jù)的格式、時(shí)間因子的規(guī)格、算法和ロ令長(zhǎng)度;PD6為第六存儲(chǔ)區(qū)的首地址。例如,當(dāng)?shù)谑鎯?chǔ)區(qū)的大小為20個(gè)字節(jié)吋,CPU可以將第十存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到從PD6到(pD6+19)的空間。CPU還可以將第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到第六存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),例如,當(dāng)被寫入到第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度為20字節(jié)時(shí),CPU可以對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)加20。步驟209,CPU根據(jù)第十存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第六存儲(chǔ)區(qū)的位置,將第十預(yù)設(shè)值寫入第六存儲(chǔ)區(qū)中,并根據(jù)寫入到第六存儲(chǔ)區(qū)中的第十預(yù)設(shè)值的長(zhǎng)度,對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新。具體地,CPU可以確定第十存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第六存儲(chǔ)區(qū)的位置,并將第十預(yù)設(shè)值寫入到第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置。例如,當(dāng)?shù)谑鎯?chǔ)區(qū)中的數(shù)據(jù)被寫入到第六存儲(chǔ)區(qū)的位置為從PD6到(pD6+19)的空間時(shí),CPU可以將第十預(yù)設(shè)值寫入(PD6+20)。其中,第十預(yù)設(shè)值可以為0x00。CPU還可以將第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到第六存儲(chǔ)區(qū)中的第十預(yù)設(shè)值所占的字節(jié)數(shù),當(dāng)?shù)谑A(yù)設(shè)值的長(zhǎng)度為I字節(jié)時(shí),CPU將第一存儲(chǔ)單元中的 數(shù)據(jù)加I。步驟210,CPU根據(jù)第十預(yù)設(shè)值被寫入到第六存儲(chǔ)區(qū)的位置,將第十一存儲(chǔ)區(qū)中的數(shù)據(jù)寫入第六存儲(chǔ)區(qū)中,并根據(jù)寫入到第六存儲(chǔ)區(qū)中的、第十一存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新。具體地,CPU可以確定第十預(yù)設(shè)值被寫入到第六存儲(chǔ)區(qū)的位置,并將第十一存儲(chǔ)區(qū)中的數(shù)據(jù)寫入到第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置。第十一存儲(chǔ)區(qū)的大小可以為128個(gè)字節(jié),用于存儲(chǔ)挑戰(zhàn)數(shù)據(jù)。例如,當(dāng)?shù)谑A(yù)設(shè)值被寫入到第六存儲(chǔ)區(qū)的位置為地址(pD6+20),第十一存儲(chǔ)區(qū)的大小為128個(gè)字節(jié)吋,CPU可以將第i^一存儲(chǔ)區(qū)中的數(shù)據(jù)寫入從(PD6+21)到(pD6+148)的空間。CPU還可以將第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到第六存儲(chǔ)區(qū)中的、第十一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),當(dāng)?shù)谑淮鎯?chǔ)區(qū)的大小為128字節(jié)時(shí),CPU將第一存儲(chǔ)單元中的數(shù)據(jù)加128。步驟211,CPU根據(jù)第十一存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第六存儲(chǔ)區(qū)的位置,將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入第六存儲(chǔ)區(qū)中,并根據(jù)寫入到第六存儲(chǔ)區(qū)中的、第七存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新。具體地,CPU可以確定第十一存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第六存儲(chǔ)區(qū)的位置,并將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入到第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置。例如,當(dāng)?shù)谑淮鎯?chǔ)區(qū)中的數(shù)據(jù)被寫入到第六存儲(chǔ)區(qū)的位置為從(PD6+21)到(pD6+148)的空間,第七存儲(chǔ)區(qū)的大小為8個(gè)字節(jié)吋,CPU可以將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入從(pD6+149)到(pD6+156)的空間。CPU還可以將第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到第六存儲(chǔ)區(qū)中的、第七存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),當(dāng)?shù)谄叽鎯?chǔ)區(qū)的大小為8字節(jié)時(shí),CPU將第一存儲(chǔ)單元中的數(shù)據(jù)加8。步驟212,CPU根據(jù)第七存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第六存儲(chǔ)區(qū)的位置,將第二預(yù)設(shè)值寫入第六存儲(chǔ)區(qū)中。具體地,CPU可以確定第七存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第六存儲(chǔ)區(qū)的位置,并將第二預(yù)設(shè)值寫入到第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置。例如,當(dāng)?shù)谄叽鎯?chǔ)區(qū)中的數(shù)據(jù)被寫入到第六存儲(chǔ)區(qū)的位置為從(PD6+149)到(pD6+156)的空間時(shí),CPU可以將第二預(yù)設(shè)值寫入(PD6+157)。其中,第二預(yù)設(shè)值可以為0x80。步驟213,CPU將第一存儲(chǔ)單元中的數(shù)據(jù)與第三預(yù)設(shè)值的乘積賦值給第二存儲(chǔ)單元中的數(shù)據(jù),將第二存儲(chǔ)單元中的數(shù)據(jù)寫入第六存儲(chǔ)區(qū),將第一存儲(chǔ)單元中的數(shù)據(jù)減第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),對(duì)第一指針寄存器中的數(shù)據(jù)進(jìn)行初始化。具體地,當(dāng)?shù)谌A(yù)設(shè)值為8吋,CPU可以將第一存儲(chǔ)單元中的數(shù)據(jù)與8的乘積賦值給第二存儲(chǔ)單元中的數(shù)據(jù)。CPU還可以將第二存儲(chǔ)單元中的數(shù)據(jù)寫入到以第六存儲(chǔ)區(qū)中的預(yù)設(shè)位置為結(jié)束位置、大小與第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小相等的空間。例如,當(dāng)預(yù)設(shè)位置為第六存儲(chǔ)區(qū)中的尾地址(PD6+191),第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小為8字節(jié)時(shí),CPU可以將第二存儲(chǔ)單元中的數(shù)據(jù)寫入從(PD6+184)到(pD6+191)的空間,其中,pD6為第六存儲(chǔ)區(qū)的首地址,第二存儲(chǔ)單元中的數(shù)據(jù)可以為消息長(zhǎng)度變量(Msglen)。當(dāng)?shù)谝淮鎯?chǔ)區(qū)的大小為64個(gè)字節(jié)吋,CPU可以將第一存儲(chǔ)單元中的數(shù)據(jù)減64。CPU還可以將第一指針寄存器中的數(shù)據(jù)賦值為O。步驟214,CPU對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化。 具體地,CPU可以將第一存儲(chǔ)區(qū)中的數(shù)據(jù)均設(shè)置為0x00。步驟215,CPU根據(jù)第一指針寄存器中的數(shù)據(jù)和第一存儲(chǔ)區(qū)的大小,從第六存儲(chǔ)區(qū)中選取數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到第一存儲(chǔ)區(qū);根據(jù)第一存儲(chǔ)區(qū)的大小,對(duì)第一指針寄存器中的數(shù)據(jù)和第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新。具體地,CPU可以從地址(pD6+第一指針寄存器中的數(shù)據(jù))開始,從第六存儲(chǔ)區(qū)中選取大小與第一存儲(chǔ)區(qū)的大小相同的數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到第一存儲(chǔ)區(qū),將第一指針寄存器中的數(shù)據(jù)加第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),將第一存儲(chǔ)單元中的數(shù)據(jù)減第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。例如,當(dāng)?shù)谝淮鎯?chǔ)區(qū)的大小為64個(gè)字節(jié)吋,CPU可以從地址(pD6+第一指針寄存器中的數(shù)據(jù))開始,從第六存儲(chǔ)區(qū)中選取64個(gè)字節(jié)的數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到第一存儲(chǔ)區(qū),將第一指針寄存器中的數(shù)據(jù)加64,將第一存儲(chǔ)單元中的數(shù)據(jù)減64。步驟216,CPU根據(jù)第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到第三存儲(chǔ)區(qū)中。步驟217,CPU判斷第一存儲(chǔ)單元中的數(shù)據(jù)是否大于零,如果大于零,則返回步驟214 ;否則,執(zhí)行步驟218。步驟218,CPU將第三存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第八存儲(chǔ)區(qū)中。其中,第八存儲(chǔ)區(qū)的大小為20字節(jié),用于存放散列運(yùn)算結(jié)果。步驟219,CPU對(duì)第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化。具體地,CPU可以將第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)均設(shè)置為OxOO0步驟220,CPU將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第一存儲(chǔ)區(qū)中,將第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第四預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到第一存儲(chǔ)區(qū)中,并根據(jù)第一存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值。具體地,CPU可以將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以第一存儲(chǔ)區(qū)的首地址為起始位置、大小與第四存儲(chǔ)區(qū)的大小相等的空間,例如,當(dāng)?shù)谒拇鎯?chǔ)區(qū)的大小為20個(gè)字節(jié)吋,CPU可以將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制從PDl到(pDl+19)的空間,其中,pDl為第一存儲(chǔ)區(qū)的首地址。
CPU可以將第一存儲(chǔ)單元中的數(shù)據(jù)賦值為第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),例如,當(dāng)?shù)谝淮鎯?chǔ)區(qū)的大小為64個(gè)字節(jié)時(shí),第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)為64,CPU將第一存儲(chǔ)單元中的數(shù)據(jù)賦值為64。其中,第四預(yù)設(shè)值可以用opad表示,其取值可以為0x5c。步驟221,CPU將第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第三存儲(chǔ)區(qū)。步驟222,CPU根據(jù)第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到第三存儲(chǔ)區(qū)中。步驟223,CPU將第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第一存儲(chǔ)區(qū)中,并根據(jù)第八存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新。具體地,CPU可以將第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以第一存儲(chǔ)區(qū)的首地址為起始位 置、大小與第八存儲(chǔ)區(qū)的大小相等的空間。例如,當(dāng)?shù)诎舜鎯?chǔ)區(qū)的大小為20個(gè)字節(jié)吋,CPU可以將第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到從PDl到(pDl+19)的空間。CPU還可以將第一存儲(chǔ)單元中的數(shù)據(jù)加寫入到第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),即第八存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。例如,當(dāng)寫入到第一存儲(chǔ)區(qū)中的數(shù)據(jù),即第八存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度為20字節(jié)時(shí),CPU可以對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)加20。步驟224,CPU根據(jù)第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第一存儲(chǔ)區(qū)的位置,將第二預(yù)設(shè)值寫入第一存儲(chǔ)區(qū)中。具體地,CPU可以確定第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第一存儲(chǔ)區(qū)的位置,并將第ニ預(yù)設(shè)值寫入到第一存儲(chǔ)區(qū)中與確定出的位置相鄰的位置。例如,第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到第一存儲(chǔ)區(qū)的位置為從PDl到(pDl+19)的空間,CPU可以將第二預(yù)設(shè)值寫入到(pDl+20)。其中,第二預(yù)設(shè)值可以為0x80。步驟225,CPU將第一存儲(chǔ)單元中的數(shù)據(jù)與第三預(yù)設(shè)值的乘積賦值給第二存儲(chǔ)單元中的數(shù)據(jù),將第二存儲(chǔ)單元中的數(shù)據(jù)寫入第一存儲(chǔ)區(qū)。具體地,當(dāng)?shù)谌A(yù)設(shè)值可以為8吋,CPU可以將第一存儲(chǔ)單元中的數(shù)據(jù)與8的乘積賦值給第二存儲(chǔ)單元中的數(shù)據(jù)。CPU還可以將第二存儲(chǔ)單元中的數(shù)據(jù)寫入到以第一存儲(chǔ)區(qū)中的預(yù)設(shè)位置為結(jié)束位置、大小與第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小相等的空間。例如,當(dāng)預(yù)設(shè)位置為(pDl+63),第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小為8字節(jié)時(shí),CPU可以將第二存儲(chǔ)單元中的數(shù)據(jù)寫入從(PD1+56)到(pDl+63)的空間,其中,pDl為第一存儲(chǔ)區(qū)的首地址。步驟226,CPU根據(jù)第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到第三存儲(chǔ)區(qū)中。步驟227,CPU從第三存儲(chǔ)區(qū)中讀取ー個(gè)字節(jié)的數(shù)據(jù),將讀取的數(shù)據(jù)與第五預(yù)設(shè)值進(jìn)行與運(yùn)算,將運(yùn)算結(jié)果賦值給第二指針寄存器中的數(shù)據(jù)。具體地,CPU可以從第三存儲(chǔ)區(qū)中讀取存儲(chǔ)在首地址(pD3)的數(shù)據(jù),可以讀取存儲(chǔ)在尾地址(PD3+19)的數(shù)據(jù),還可以讀取存儲(chǔ)在第三存儲(chǔ)區(qū)中的其他位置的數(shù)據(jù)。當(dāng)?shù)谌鎯?chǔ)區(qū)的長(zhǎng)度已知時(shí),可以將保存在PD3到(PD3+19)之間的任意一個(gè)字節(jié)的數(shù)據(jù)與第五預(yù)設(shè)值進(jìn)行與運(yùn)算,將運(yùn)算結(jié)果賦值給第二指針寄存器中的數(shù)據(jù)。即,CPU可以將保存在pD3到(PD3+19)之間的預(yù)定位置的一個(gè)字節(jié)的數(shù)據(jù)與第五預(yù)設(shè)值進(jìn)行與運(yùn)算。其中,第五預(yù)設(shè)值可以為“OxOf”。
例如,當(dāng)存儲(chǔ)在pD3 到(pD3+19)之間的數(shù)據(jù)為{Oxlf,0x86,0x98,0x69,OxOE,0x02,OxCA,0x16,0x61,0x50,OxEF,0x7F,0x19,OxDA,0x8E,0x94,0x5B,0x55,0x5A,0x09}吋,(PD3+19)所指向的內(nèi)容與“OxOf”進(jìn)行與運(yùn)算的結(jié)果為“0x9”,CPU將第二指針寄存器中的數(shù)據(jù)賦值為“0x9”。步驟228,CPU對(duì)第三存儲(chǔ)單元中的數(shù)據(jù)和第四存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化。具體地,CPU可以將第三存儲(chǔ)單元中的數(shù)據(jù)和第四存儲(chǔ)單元中的數(shù)據(jù)均賦值為0,其中,第三存儲(chǔ)單元中的數(shù)據(jù)為第一計(jì)數(shù)變量,用于記錄從第三存儲(chǔ)區(qū)中的讀取的數(shù)據(jù)所占的字節(jié)數(shù);第四存儲(chǔ)單元中的數(shù)據(jù)可以為結(jié)果變量(Result)。步驟229,CPU根據(jù)第二指針寄存器中的數(shù)據(jù),從第三存儲(chǔ)區(qū)讀取ー個(gè)字節(jié)的數(shù)據(jù),將讀取的數(shù)據(jù)與第四存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行或運(yùn)算,將運(yùn)算結(jié)果賦值給第四存儲(chǔ)單元中的數(shù)據(jù),將第三存儲(chǔ)單元中的數(shù)據(jù)加I。具體地,CPU可以從地址(pD3+第二指針寄存器中的數(shù)據(jù))讀取ー個(gè)字節(jié)的數(shù)據(jù), 將讀取的數(shù)據(jù)與第四存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行或運(yùn)算,并將運(yùn)算結(jié)果賦值給第四存儲(chǔ)單元中的數(shù)據(jù),將第三存儲(chǔ)單元中的數(shù)據(jù)加I。步驟230,CPU判斷第三存儲(chǔ)單元中的數(shù)據(jù)是否等于第六預(yù)設(shè)值,如果等于,則執(zhí)行步驟232 ;否則,執(zhí)行步驟231。其中,第六預(yù)設(shè)值可以為需要從第三存儲(chǔ)區(qū)讀取的數(shù)據(jù)所占的字節(jié)數(shù)。步驟231,CPU將第二指針寄存器中的數(shù)據(jù)加1,將第四存儲(chǔ)單元中的數(shù)據(jù)左移8位,并返回步驟229。例如,當(dāng)保存在pD3 到(pD3+19)之間的數(shù)據(jù)為{Oxlf,0x86,0x98,0x69,OxOE,0x02,OxCA,0x16,0x61,0x50,OxEF,0x7F,0x19,OxDA,0x8E,0x94,0x5B,0x55,0x5A,0x09},第二指針寄存器中的數(shù)據(jù)為“0x9”,第六預(yù)設(shè)值為4時(shí),經(jīng)過(guò)上述步驟處理后,第四存儲(chǔ)單元中的數(shù)據(jù)為“50EF7F19”。步驟232,CPU將第四存儲(chǔ)單元中的數(shù)據(jù)與第七預(yù)設(shè)值進(jìn)行與運(yùn)算,將運(yùn)算結(jié)果賦值給第四存儲(chǔ)單元中的數(shù)據(jù)。其中,第七預(yù)設(shè)值與第六預(yù)設(shè)值相對(duì)應(yīng),賦值后的第四存儲(chǔ)單元中的數(shù)據(jù)的最高位為O。例如,當(dāng)?shù)诹A(yù)設(shè)值為4時(shí),第七預(yù)設(shè)值為如果第四存儲(chǔ)單元中的數(shù)據(jù)為“50EF7F19”,則經(jīng)過(guò)本步驟處理后,Result的取值為“0x50EF7F19”。當(dāng)?shù)诹A(yù)設(shè)值為3時(shí),第七預(yù)設(shè)值為“0x7fffff ”;當(dāng)?shù)诹A(yù)設(shè)值為6時(shí),第七預(yù)設(shè)值為“0x7fffffffffff”。步驟233,CPU對(duì)第五存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化。具體地,CPU可以將第五存儲(chǔ)單元中的數(shù)據(jù)賦值為0,第五存儲(chǔ)單元中的數(shù)據(jù)可以為第二計(jì)數(shù)變量。步驟234,CPU判斷第五存儲(chǔ)單元中的數(shù)據(jù)是否小于第八預(yù)設(shè)值,如果小于,則執(zhí)行步驟235 ;否則,執(zhí)行步驟236。其中,第八預(yù)設(shè)值可以為數(shù)據(jù)處理結(jié)果的長(zhǎng)度。步驟235,CPU將第四存儲(chǔ)單元中的數(shù)據(jù)對(duì)第九預(yù)設(shè)值取余,并根據(jù)第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,對(duì)取余得到的結(jié)果進(jìn)行存儲(chǔ);將第四存儲(chǔ)單元中的數(shù)據(jù)除以第九預(yù)設(shè)值得到的商賦值給第四存儲(chǔ)單元中的數(shù)據(jù),將第五存儲(chǔ)單元中的數(shù)據(jù)加1,并返回步驟234。具體地,CPU將第四存儲(chǔ)單元中的數(shù)據(jù)對(duì)第九預(yù)設(shè)值取余得到的結(jié)果存儲(chǔ)到地址(pD9+第五存儲(chǔ)單元中的數(shù)據(jù)),其中,第九預(yù)設(shè)值為10,pD9為第九存儲(chǔ)區(qū)的首地址,第九存儲(chǔ)區(qū)用于存儲(chǔ)數(shù)據(jù)處理結(jié)果。步驟236,CPU根據(jù)第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,將存儲(chǔ)在第九存儲(chǔ)區(qū)中的數(shù)據(jù)作為數(shù)據(jù)處理結(jié)果輸出。具體地,CPU可以將保存在pD9與(pD9+第五存儲(chǔ)單元中的數(shù)據(jù)_1)之間的數(shù)據(jù)作為數(shù)據(jù)處理結(jié)果輸出。例如,當(dāng)?shù)谒拇鎯?chǔ)單元中的數(shù)據(jù)為“0x50EF7F19”,第八預(yù)設(shè)值為9時(shí),經(jīng)過(guò)上述步驟處理后,第五存儲(chǔ)單元中的數(shù)據(jù)為9,CPU將保存在pD9所指向的地址與(pD9+8)所指向的地址之間的數(shù)據(jù)“357872921”輸出。 當(dāng)?shù)谒拇鎯?chǔ)單元中的數(shù)據(jù)為“0x50EF7F19”,第八預(yù)設(shè)值為11時(shí),經(jīng)過(guò)上述步驟處理后,第五存儲(chǔ)單元中的數(shù)據(jù)為11,CPU將保存在pD9所指向的地址與(PD9+10)所指向的地址之間的數(shù)據(jù)“01357872921”輸出。本發(fā)明實(shí)施例能夠通過(guò)對(duì)ー組或多組長(zhǎng)度不等、格式不同的數(shù)據(jù)進(jìn)行整合處理,輸出固定長(zhǎng)度、固定格式的數(shù)據(jù),提高了數(shù)據(jù)處理的效率,且輸出的數(shù)據(jù)具有隨機(jī)性好、處理過(guò)程不可逆等特點(diǎn)。實(shí)施例三如圖3所示,為本發(fā)明實(shí)施例三中的ー種數(shù)據(jù)處理裝置的結(jié)構(gòu)圖,包括檢測(cè)模塊310、第一判斷模塊320、第一處理模塊330、第二處理模塊340、第二判斷模塊350和第三處理模塊360。其中,檢測(cè)模塊310,用于檢測(cè)數(shù)據(jù)處理信號(hào)。第一判斷模塊320,用于判斷檢測(cè)模塊310是否檢測(cè)到所述數(shù)據(jù)處理信號(hào),在判斷檢測(cè)模塊310檢測(cè)到所述數(shù)據(jù)處理信號(hào)時(shí),觸發(fā)第一處理模塊330 ;第一處理模塊330,用于對(duì)第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,將所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第一預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值;將第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第三存儲(chǔ)區(qū);根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;對(duì)第六存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將第二預(yù)設(shè)值寫入所述第六存儲(chǔ)區(qū)中;將所述第一存儲(chǔ)單元中的數(shù)據(jù)與第三預(yù)設(shè)值的乘積賦值給第二存儲(chǔ)單元中的數(shù)據(jù),將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),將所述第一存儲(chǔ)單元中的數(shù)據(jù)減所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),對(duì)第一指針寄存器中的數(shù)據(jù)進(jìn)行初始化,并觸發(fā)第二處理模塊340。其中,將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,具體為將所述第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以所述第一存儲(chǔ)區(qū)的首地址為起始位置、大小與所述第四存儲(chǔ)區(qū)的大小相等的空間;相應(yīng)地,根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值,具體為將所述第一存儲(chǔ)單元中的數(shù)據(jù)賦值為第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為將所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以所述第六存儲(chǔ)區(qū)的首地址為起始位置、大小與所述第七存儲(chǔ)區(qū)的大小相等的空間,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),具體為將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入到以所述第六存儲(chǔ)區(qū)中的預(yù)設(shè)位置為結(jié)束位置、大小與所述第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小相等的空間。第一處理模塊330,還用于在將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,井根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新之前,將第十存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第十存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將第十預(yù)設(shè)值寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū) 中的所述第十預(yù)設(shè)值的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第十預(yù)設(shè)值被寫入到所述第六存儲(chǔ)區(qū)的位置,將第十一存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;相應(yīng)地,將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體包括根據(jù)所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,井根據(jù)所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新。其中,將第十存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為將所述第十存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以所述第六存儲(chǔ)區(qū)的首地址為起始位置、大小與所述第十存儲(chǔ)區(qū)的大小相等的空間,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。根據(jù)所述第十存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將第十預(yù)設(shè)值寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的所述第十預(yù)設(shè)值的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為確定所述第十存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,并將所述第十預(yù)設(shè)值寫入到所述第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的第十預(yù)設(shè)值所占的字節(jié)數(shù)。根據(jù)所述第十預(yù)設(shè)值被寫入到所述第六存儲(chǔ)區(qū)的位置,將第十一存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,井根據(jù)所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為確定所述第十預(yù)設(shè)值被寫入到所述第六存儲(chǔ)區(qū)的位置,并將所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)寫入到所述第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的、所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。根據(jù)所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,井根據(jù)所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為確定所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,并將所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入到所述第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的、所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。第二處理模塊340,用于對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;根據(jù)所述第一指針寄存器中的數(shù)據(jù)和所述第一存儲(chǔ)區(qū)的大小,從所述第六存儲(chǔ)區(qū)中選取數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū);根據(jù)所述第一存儲(chǔ)區(qū)的大小,對(duì)所述第一指針寄存器中的數(shù)據(jù)和所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中,并觸發(fā)第二判斷模塊 350。其中,根據(jù)所述第一指針寄存器中的數(shù)據(jù)和所述第一存儲(chǔ)區(qū)的大小,從所述第六存儲(chǔ)區(qū)中選取數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū),具體為從地址 (pD6+offSetl)開始,從所述第六存儲(chǔ)區(qū)中選取大小與所述第一存儲(chǔ)區(qū)的大小相同的數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū),將所述第一指針寄存器中的數(shù)據(jù)加所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),將所述第一存儲(chǔ)單元中的數(shù)據(jù)減所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),其中,PD6為所述第六存儲(chǔ)區(qū)的首地址,offsetl為所述第一指針寄存器中的數(shù)據(jù)。第二判斷模塊350,用于判斷所述第一存儲(chǔ)單元中的數(shù)據(jù)是否大于零,如果大于零,則觸發(fā)第二處理模塊340 ;否則,觸發(fā)第三處理模塊360。第三處理模塊360,用于將所述第三存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第八存儲(chǔ)區(qū)中;對(duì)所述第一存儲(chǔ)區(qū)、所述第二存儲(chǔ)區(qū)和所述第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;將所述第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,將所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第四預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值;將所述第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第三存儲(chǔ)區(qū);根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;將所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第八存儲(chǔ)區(qū)的大小對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第一存儲(chǔ)區(qū)的位置,將所述第二預(yù)設(shè)值寫入所述第一存儲(chǔ)區(qū)中;將所述第一存儲(chǔ)單元中的數(shù)據(jù)與所述第三預(yù)設(shè)值的乘積賦值給所述第二存儲(chǔ)單元中的數(shù)據(jù),將所述第二存儲(chǔ)単元中的數(shù)據(jù)寫入所述第一存儲(chǔ)區(qū);根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;從所述第三存儲(chǔ)區(qū)中讀取ー個(gè)字節(jié)的數(shù)據(jù),將讀取到的一個(gè)字節(jié)的數(shù)據(jù)的取值作為索引,從所述第三存儲(chǔ)區(qū)中讀取預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù);根據(jù)讀取到的預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù),輸出數(shù)據(jù)處理結(jié)果。其中,將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第一存儲(chǔ)區(qū),具體為將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入以所述第一存儲(chǔ)區(qū)中的預(yù)設(shè)位置為結(jié)束位置、大小與所述第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小相等的空間。根據(jù)所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第一存儲(chǔ)區(qū)的位置,將所述第二預(yù)設(shè)值寫入所述第一存儲(chǔ)區(qū)中,具體為確定所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第一存儲(chǔ)區(qū)的位置,并將所述第二預(yù)設(shè)值寫入到所述第一存儲(chǔ)區(qū)中與確定出的位置相鄰的位置。將所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第八存儲(chǔ)區(qū)的大小對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為將所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以所述第一存儲(chǔ)區(qū)的首地址為起始位置、大小與所述第八存儲(chǔ)區(qū)的大小相等的空間,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加寫入到所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。預(yù)設(shè)數(shù)量可以為第六預(yù)設(shè)值;將讀取到的一個(gè)字節(jié)的數(shù)據(jù)的取值作為索引,從所述第三存儲(chǔ)區(qū)中讀取預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù),具體包括BI、將所述讀取到的一個(gè)字節(jié)的數(shù)據(jù)與第五預(yù)設(shè)值進(jìn)行與運(yùn)算,將運(yùn)算結(jié)果賦值給第二指針寄存器中的數(shù)據(jù);B2、對(duì)第三存儲(chǔ)單元中的數(shù)據(jù)和第四存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化;B3、根據(jù)所述第二指針寄存器中的數(shù)據(jù),從所述第三存儲(chǔ)區(qū)讀取ー個(gè)字節(jié)的數(shù)據(jù), 將讀取到的數(shù)據(jù)與所述第四存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行或運(yùn)算,將運(yùn)算結(jié)果賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù),將所述第三存儲(chǔ)單元中的數(shù)據(jù)加第一預(yù)設(shè)步長(zhǎng);B4、判斷所述第三存儲(chǔ)單元中的數(shù)據(jù)是否等于第六預(yù)設(shè)值,如果等于,則執(zhí)行步驟B6 ;否則,執(zhí)行步驟B5 ;B5、將所述第二指針寄存器中的數(shù)據(jù)加第二預(yù)設(shè)步長(zhǎng),將所述第四存儲(chǔ)單元中的數(shù)據(jù)左移8位,并返回步驟B4;B6、將所述第四存儲(chǔ)單元中的數(shù)據(jù)作為從所述第三存儲(chǔ)區(qū)中讀取到的預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù)。具體地,根據(jù)所述第二指針寄存器中的數(shù)據(jù),從所述第三存儲(chǔ)區(qū)讀取ー個(gè)字節(jié)的數(shù)據(jù),具體為從地址(pD3+0ffset2)讀取ー個(gè)字節(jié)的數(shù)據(jù),其中,pD3為所述第三存儲(chǔ)區(qū)的首地址,offset2為所述第二指針寄存器中的數(shù)據(jù);根據(jù)讀取到的預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù),輸出數(shù)據(jù)處理結(jié)果,具體包括將所述第四存儲(chǔ)單元中的數(shù)據(jù)作為數(shù)據(jù)處理結(jié)果輸出;或者,Cl、將所述第四存儲(chǔ)單元中的數(shù)據(jù)與第七預(yù)設(shè)值進(jìn)行與運(yùn)算,將所述運(yùn)算結(jié)果賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù);C2、對(duì)第五存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化;C3、判斷所述第五存儲(chǔ)單元中的數(shù)據(jù)是否小于第八預(yù)設(shè)值,如果小于,則執(zhí)行步驟C4;否則,執(zhí)行步驟C5;C4、將所述第四存儲(chǔ)單元中的數(shù)據(jù)對(duì)第九預(yù)設(shè)值取余,井根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,將取余得到的結(jié)果存儲(chǔ)到所述第九存儲(chǔ)區(qū);將所述第四存儲(chǔ)單元中的數(shù)據(jù)除以第九預(yù)設(shè)值得到的商賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù),將所述第五存儲(chǔ)單元中的數(shù)據(jù)加第三預(yù)設(shè)步長(zhǎng),并返回步驟C3 ;C5、根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和所述第九存儲(chǔ)區(qū)的首地址,讀取存儲(chǔ)在所述第九存儲(chǔ)區(qū)中的數(shù)據(jù),將讀取到的數(shù)據(jù)作為數(shù)據(jù)處理結(jié)果輸出;或者,D1、將所述第四存儲(chǔ)單元中的數(shù)據(jù)與第七預(yù)設(shè)值進(jìn)行與運(yùn)算,將所述運(yùn)算結(jié)果賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù);
D2、對(duì)第五存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化;D3、判斷所述第五存儲(chǔ)單元中的數(shù)據(jù)是否小于第八預(yù)設(shè)值,如果小于,則執(zhí)行步驟D4;否則,執(zhí)行步驟D5;D4、將所述第四存儲(chǔ)單元中的數(shù)據(jù)對(duì)第九預(yù)設(shè)值取余,井根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,將取余得到的結(jié)果存儲(chǔ)到所述第九存儲(chǔ)區(qū);將所述第四存儲(chǔ)單元中的數(shù)據(jù)除以第九預(yù)設(shè)值得到的商賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù),將所述第五存儲(chǔ)單元中的數(shù)據(jù)加第三預(yù)設(shè)步長(zhǎng),并返回步驟D3 ;D5、根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和所述第九存儲(chǔ)區(qū)的首地址,讀取存儲(chǔ)在所述第九存儲(chǔ)區(qū)中的數(shù)據(jù),根據(jù)讀取到的數(shù)據(jù),計(jì)算對(duì)應(yīng)的循環(huán)冗余校驗(yàn)碼CRC碼,將所述讀取到的數(shù)據(jù)和所述CRC碼作為數(shù)據(jù)處理結(jié)果輸出。其中,根據(jù)第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,將取余得到的結(jié)果存儲(chǔ)到所述第九存儲(chǔ)區(qū),具體為將所述取余得到的結(jié)果存儲(chǔ)到地址(pD9+i),其中,pD9為所述第九存儲(chǔ)區(qū)的首地址,i為所述第五存儲(chǔ)單元中的數(shù)據(jù);所述根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和所述第九存儲(chǔ)區(qū)的首地址,讀取存儲(chǔ)在所述第九存儲(chǔ)區(qū)中的數(shù)據(jù),具體為讀取保存在從地址pD9到地址(pD9+i_l)之間的空間的數(shù)據(jù),其中,pD9為所述第九存儲(chǔ)區(qū)的首地址,i為所述第五存儲(chǔ)單元中的數(shù)據(jù)。 本發(fā)明實(shí)施例能夠通過(guò)對(duì)ー組或多組長(zhǎng)度不等、格式不同的數(shù)據(jù)進(jìn)行整合處理,輸出固定長(zhǎng)度、固定格式的數(shù)據(jù),提高了數(shù)據(jù)處理的效率,且輸出的數(shù)據(jù)具有隨機(jī)性好、處理過(guò)程不可逆等特點(diǎn)。結(jié)合本文中所公開的實(shí)施例描述的方法中的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.ー種數(shù)據(jù)處理方法,其特征在于,包括以下步驟 Al、檢測(cè)數(shù)據(jù)處理信號(hào); A2、判斷是否檢測(cè)到所述數(shù)據(jù)處理信號(hào),如果檢測(cè)到,則執(zhí)行步驟A3 ;否則,返回步驟Al ; A3、對(duì)第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化; A4、將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,將所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第一預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值; A5、將第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第三存儲(chǔ)區(qū); A6、根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中; A7、對(duì)第六存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化; AS、將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新; A9、根據(jù)所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將第二預(yù)設(shè)值寫入所述第六存儲(chǔ)區(qū)中; A10、將所述第一存儲(chǔ)單元中的數(shù)據(jù)與第三預(yù)設(shè)值的乘積賦值給第二存儲(chǔ)單元中的數(shù)據(jù),將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),將所述第一存儲(chǔ)單元中的數(shù)據(jù)減所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),對(duì)第一指針寄存器中的數(shù)據(jù)進(jìn)行初始化; AU、對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化; A12、根據(jù)所述第一指針寄存器中的數(shù)據(jù)和所述第一存儲(chǔ)區(qū)的大小,從所述第六存儲(chǔ)區(qū)中選取數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū);根據(jù)所述第一存儲(chǔ)區(qū)的大小,對(duì)所述第一指針寄存器中的數(shù)據(jù)和所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新; A13、根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中; A14、判斷所述第一存儲(chǔ)單元中的數(shù)據(jù)是否大于零,如果大于零,則返回步驟All ;否貝U,執(zhí)行步驟A15 ; A15、將所述第三存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第八存儲(chǔ)區(qū)中; A16、對(duì)所述第一存儲(chǔ)區(qū)、所述第二存儲(chǔ)區(qū)和所述第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化; A17、將所述第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,將所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第四預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值; A18、將所述第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第三存儲(chǔ)區(qū); A19、根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中; A20、將所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第八存儲(chǔ)區(qū)的大小對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新; A21、根據(jù)所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第一存儲(chǔ)區(qū)的位置,將所述第二預(yù)設(shè)值寫入所述第一存儲(chǔ)區(qū)中;A22、將所述第一存儲(chǔ)單元中的數(shù)據(jù)與所述第三預(yù)設(shè)值的乘積賦值給所述第二存儲(chǔ)單元中的數(shù)據(jù),將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第一存儲(chǔ)區(qū); A23、根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中; A24、從所述第三存儲(chǔ)區(qū)中讀取ー個(gè)字節(jié)的數(shù)據(jù),將讀取到的一個(gè)字節(jié)的數(shù)據(jù)的取值作為索引,從所述第三存儲(chǔ)區(qū)中讀取預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù); A25、根據(jù)讀取到的預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù),輸出數(shù)據(jù)處理結(jié)果。
2.如權(quán)利要求I所述的方法,其特征在于,所述預(yù)設(shè)數(shù)量為第六預(yù)設(shè)值; 所述將讀取到的一個(gè)字節(jié)的數(shù)據(jù)的取值作為索引,從所述第三存儲(chǔ)區(qū)中讀取預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù),具體包括BI、將所述讀取到的一個(gè)字節(jié)的數(shù)據(jù)與第五預(yù)設(shè)值進(jìn)行與運(yùn)算,將運(yùn)算結(jié)果賦值給第ニ指針寄存器中的數(shù)據(jù); B2、對(duì)第三存儲(chǔ)單元中的數(shù)據(jù)和第四存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化; B3、根據(jù)所述第二指針寄存器中的數(shù)據(jù),從所述第三存儲(chǔ)區(qū)讀取ー個(gè)字節(jié)的數(shù)據(jù),將讀取到的數(shù)據(jù)與所述第四存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行或運(yùn)算,將運(yùn)算結(jié)果賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù),將所述第三存儲(chǔ)單元中的數(shù)據(jù)加第一預(yù)設(shè)步長(zhǎng); B4、判斷所述第三存儲(chǔ)單元中的數(shù)據(jù)是否等于第六預(yù)設(shè)值,如果等于,則執(zhí)行步驟B6 ;否則,執(zhí)行步驟B5; B5、將所述第二指針寄存器中的數(shù)據(jù)加第二預(yù)設(shè)步長(zhǎng),將所述第四存儲(chǔ)單元中的數(shù)據(jù)左移8位,并返回步驟B4; B6、將所述第四存儲(chǔ)單元中的數(shù)據(jù)作為從所述第三存儲(chǔ)區(qū)中讀取到的預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù)。
3.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述第二指針寄存器中的數(shù)據(jù),從所述第三存儲(chǔ)區(qū)讀取ー個(gè)字節(jié)的數(shù)據(jù),具體為 從地址(pD3+offset2)讀取ー個(gè)字節(jié)的數(shù)據(jù),其中,pD3為所述第三存儲(chǔ)區(qū)的首地址,offset2為所述第二指針寄存器中的數(shù)據(jù)。
4.如權(quán)利要求2所述的方法,其特征在于,步驟A25,具體為 將所述第四存儲(chǔ)單元中的數(shù)據(jù)作為數(shù)據(jù)處理結(jié)果輸出; 或者, Cl、將所述第四存儲(chǔ)單元中的數(shù)據(jù)與第七預(yù)設(shè)值進(jìn)行與運(yùn)算,將所述運(yùn)算結(jié)果賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù); C2、對(duì)第五存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化; C3、判斷所述第五存儲(chǔ)單元中的數(shù)據(jù)是否小于第八預(yù)設(shè)值,如果小干,則執(zhí)行步驟C4 ;否則,執(zhí)行步驟C5; C4、將所述第四存儲(chǔ)單元中的數(shù)據(jù)對(duì)第九預(yù)設(shè)值取余,井根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,將取余得到的結(jié)果存儲(chǔ)到所述第九存儲(chǔ)區(qū);將所述第四存儲(chǔ)単元中的數(shù)據(jù)除以第九預(yù)設(shè)值得到的商賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù),將所述第五存儲(chǔ)單元中的數(shù)據(jù)加第三預(yù)設(shè)步長(zhǎng),并返回步驟C3 ; C5、根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和所述第九存儲(chǔ)區(qū)的首地址,讀取存儲(chǔ)在所述第九存儲(chǔ)區(qū)中的數(shù)據(jù),將讀取到的數(shù)據(jù)作為數(shù)據(jù)處理結(jié)果輸出; 或者, D1、將所述第四存儲(chǔ)單元中的數(shù)據(jù)與第七預(yù)設(shè)值進(jìn)行與運(yùn)算,將所述運(yùn)算結(jié)果賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù); D2、對(duì)第五存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化; D3、判斷所述第五存儲(chǔ)單元中的數(shù)據(jù)是否小于第八預(yù)設(shè)值,如果小干,則執(zhí)行步驟D4 ;否則,執(zhí)行步驟D5; D4、將所述第四存儲(chǔ)單元中的數(shù)據(jù)對(duì)第九預(yù)設(shè)值取余,井根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,將取余得到的結(jié)果存儲(chǔ)到所述第九存儲(chǔ)區(qū);將所述第四存儲(chǔ)単元中的數(shù)據(jù)除以第九預(yù)設(shè)值得到的商賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù),將所述第五存儲(chǔ)單元中的數(shù)據(jù)加第三預(yù)設(shè)步長(zhǎng),并返回步驟D3 ;D5、根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和所述第九存儲(chǔ)區(qū)的首地址,讀取存儲(chǔ)在所述第九存儲(chǔ)區(qū)中的數(shù)據(jù),根據(jù)讀取到的數(shù)據(jù),計(jì)算對(duì)應(yīng)的循環(huán)冗余校驗(yàn)碼,將所述讀取到的數(shù)據(jù)和所述校驗(yàn)碼作為數(shù)據(jù)處理結(jié)果輸出。
5.如權(quán)利要求4所述的方法,其特征在干,所述根據(jù)第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,將取余得到的結(jié)果存儲(chǔ)到所述第九存儲(chǔ)區(qū),具體為 將所述取余得到的結(jié)果存儲(chǔ)到地址(pD9+i),其中,pD9為所述第九存儲(chǔ)區(qū)的首地址,i為所述第五存儲(chǔ)單元中的數(shù)據(jù); 所述根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和所述第九存儲(chǔ)區(qū)的首地址,讀取存儲(chǔ)在所述第九存儲(chǔ)區(qū)中的數(shù)據(jù),具體為 讀取保存在從地址PD9到地址(pD9+i-l)之間的空間的數(shù)據(jù),其中,pD9為所述第九存儲(chǔ)區(qū)的首地址,i為所述第五存儲(chǔ)單元中的數(shù)據(jù)。
6.如權(quán)利要求I所述的方法,其特征在于,步驟AS之前,還包括 將第十存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新; 根據(jù)所述第十存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將第十預(yù)設(shè)值寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的所述第十預(yù)設(shè)值的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新; 根據(jù)所述第十預(yù)設(shè)值被寫入到所述第六存儲(chǔ)區(qū)的位置,將第十一存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,井根據(jù)所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新; 步驟A8,具體為 根據(jù)所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,井根據(jù)所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新。
7.如權(quán)利要求6所述的方法,其特征在于,所述將第十存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為 將所述第十存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以所述第六存儲(chǔ)區(qū)的首地址為起始位置、大小與所述第十存儲(chǔ)區(qū)的大小相等的空間,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。
8.如權(quán)利要求6所述的方法,其特征在于,所述根據(jù)所述第十存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將第十預(yù)設(shè)值寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的所述第十預(yù)設(shè)值的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為 確定所述第十存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,并將所述第十預(yù)設(shè)值寫入到所述第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的第十預(yù)設(shè)值所占的字節(jié)數(shù)。
9.如權(quán)利要求6所述的方法,其特征在于,所述根據(jù)所述第十預(yù)設(shè)值被寫入到所述第六存儲(chǔ)區(qū)的位置,將第十一存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,井根據(jù)所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為 確定所述第十預(yù)設(shè)值被寫入到所述第六存儲(chǔ)區(qū)的位置,并將所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)寫入到所述第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的、所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。
10.如權(quán)利要求6所述的方法,其特征在于,所述根據(jù)所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為 確定所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,并將所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入到所述第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的、所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。
11.如權(quán)利要求I所述的方法,其特征在于,所述將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,具體為 將所述第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以所述第一存儲(chǔ)區(qū)的首地址為起始位置、大小與所述第四存儲(chǔ)區(qū)的大小相等的空間; 所述根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值,具體為 將所述第一存儲(chǔ)單元中的數(shù)據(jù)賦值為第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。
12.如權(quán)利要求I所述的方法,其特征在于,步驟AS,具體為 將所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以所述第六存儲(chǔ)區(qū)的首地址為起始位置、大小與所述第七存儲(chǔ)區(qū)的大小相等的空間,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。
13.如權(quán)利要求I所述的方法,其特征在干,將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),具體為 將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入到以所述第六存儲(chǔ)區(qū)中的預(yù)設(shè)位置為結(jié)束位置、大小與所述第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小相等的空間。
14.如權(quán)利要求I所述的方法,其特征在于,步驟A12,具體為 從地址(pD6+offSetl)開始,從所述第六存儲(chǔ)區(qū)中選取大小與所述第一存儲(chǔ)區(qū)的大小相同的數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū),將所述第一指針寄存器中的數(shù)據(jù)加所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),將所述第一存儲(chǔ)單元中的數(shù)據(jù)減所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),其中,PD6為所述第六存儲(chǔ)區(qū)的首地址,offsetl為所述第一指針寄存器中的數(shù)據(jù)。
15.如權(quán)利要求I所述的方法,其特征在于,步驟A20,具體為 將所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以所述第一存儲(chǔ)區(qū)的首地址為起始位置、大小與所述第八存儲(chǔ)區(qū)的大小相等的空間,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加寫入到所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。
16.如權(quán)利要求I所述的方法,其特征在于,步驟A21,具體為 確定所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第一存儲(chǔ)區(qū)的位置,并將所述第二預(yù)設(shè)值寫入到所述第一存儲(chǔ)區(qū)中與確定出的位置相鄰的位置。
17.如權(quán)利要求I所述的方法,其特征在于,所述將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第一存儲(chǔ)區(qū),具體為 將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入以所述第一存儲(chǔ)區(qū)中的預(yù)設(shè)位置為結(jié)束位置、大小與所述第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小相等的空間。
18.ー種數(shù)據(jù)處理裝置,其特征在于,包括檢測(cè)模塊、第一判斷模塊、第一處理模塊、第ニ處理模塊、第二判斷模塊和第三處理模塊,其中, 所述檢測(cè)模塊,用于檢測(cè)數(shù)據(jù)處理信號(hào); 所述第一判斷模塊,用于判斷所述檢測(cè)模塊是否檢測(cè)到所述數(shù)據(jù)處理信號(hào),在判斷所述檢測(cè)模塊檢測(cè)到所述數(shù)據(jù)處理信號(hào)時(shí),觸發(fā)所述第一處理模塊; 所述第一處理模塊,用于對(duì)第一存儲(chǔ)區(qū)、第二存儲(chǔ)區(qū)和第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,將所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第一預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值;將第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第三存儲(chǔ)區(qū);根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;對(duì)第六存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將第二預(yù)設(shè)值寫入所述第六存儲(chǔ)區(qū)中;將所述第一存儲(chǔ)單元中的數(shù)據(jù)與第三預(yù)設(shè)值的乘積賦值給第二存儲(chǔ)単元中的數(shù)據(jù),將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),將所述第一存儲(chǔ)單元中的數(shù)據(jù)減所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),對(duì)第一指針寄存器中的數(shù)據(jù)進(jìn)行初始化,并觸發(fā)所述第二處理模塊; 所述第二處理模塊,用于對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;根據(jù)所述第一指針寄存器中的數(shù)據(jù)和所述第一存儲(chǔ)區(qū)的大小,從所述第六存儲(chǔ)區(qū)中選取數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū);根據(jù)所述第一存儲(chǔ)區(qū)的大小,對(duì)所述第一指針寄存器中的數(shù)據(jù)和所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中,并觸發(fā)所述第二判斷模塊; 所述第二判斷模塊,用于判斷所述第一存儲(chǔ)單元中的數(shù)據(jù)是否大于零,如果大于零,則觸發(fā)所述第二處理模塊;否則,觸發(fā)所述第三處理模塊; 所述第三處理模塊,用于將所述第三存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到第八存儲(chǔ)區(qū)中;對(duì)所述第一存儲(chǔ)區(qū)、所述第二存儲(chǔ)區(qū)和所述第三存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化;將所述第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,將所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)與第四預(yù)設(shè)值進(jìn)行異或運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)所述第一存儲(chǔ)単元中的數(shù)據(jù)進(jìn)行賦值;將所述第五存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第三存儲(chǔ)區(qū);根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;將所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第八存儲(chǔ)區(qū)的大小對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第一存儲(chǔ)區(qū)的位置,將所述第二預(yù)設(shè)值寫入所述第一存儲(chǔ)區(qū)中;將所述第一存儲(chǔ)單元中的數(shù)據(jù)與所述第三預(yù)設(shè)值的乘積賦值給所述第二存儲(chǔ)單元中的數(shù)據(jù),將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第一存儲(chǔ)區(qū);根據(jù)所述第三存儲(chǔ)區(qū)中的數(shù)據(jù),對(duì)所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行散列運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)到所述第三存儲(chǔ)區(qū)中;從所述第三存儲(chǔ)區(qū)中讀取ー個(gè)字節(jié)的數(shù)據(jù),將讀取到的一個(gè)字節(jié)的數(shù)據(jù)的取值作為索引,從所述第三存儲(chǔ)區(qū)中讀取預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù);根據(jù)讀取到的預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù),輸出數(shù)據(jù)處理結(jié)果。
19.如權(quán)利要求18所述的裝置,其特征在于,所述預(yù)設(shè)數(shù)量為第六預(yù)設(shè)值; 所述將讀取到的一個(gè)字節(jié)的數(shù)據(jù)的取值作為索引,從所述第三存儲(chǔ)區(qū)中讀取預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù),具體包括 BI、將所述讀取到的一個(gè)字節(jié)的數(shù)據(jù)與第五預(yù)設(shè)值進(jìn)行與運(yùn)算,將運(yùn)算結(jié)果賦值給第ニ指針寄存器中的數(shù)據(jù); B2、對(duì)第三存儲(chǔ)單元中的數(shù)據(jù)和第四存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化; B3、根據(jù)所述第二指針寄存器中的數(shù)據(jù),從所述第三存儲(chǔ)區(qū)讀取ー個(gè)字節(jié)的數(shù)據(jù),將讀取到的數(shù)據(jù)與所述第四存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行或運(yùn)算,將運(yùn)算結(jié)果賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù),將所述第三存儲(chǔ)單元中的數(shù)據(jù)加第一預(yù)設(shè)步長(zhǎng); B4、判斷所述第三存儲(chǔ)單元中的數(shù)據(jù)是否等于第六預(yù)設(shè)值,如果等干,則執(zhí)行步驟B6 ;否則,執(zhí)行步驟B5; B5、將所述第二指針寄存器中的數(shù)據(jù)加第二預(yù)設(shè)步長(zhǎng),將所述第四存儲(chǔ)單元中的數(shù)據(jù)左移8位,并返回步驟B4; B6、將所述第四存儲(chǔ)單元中的數(shù)據(jù)作為從所述第三存儲(chǔ)區(qū)中讀取到的預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù)。
20.如權(quán)利要求19所述的裝置,其特征在于,所述根據(jù)所述第二指針寄存器中的數(shù)據(jù),從所述第三存儲(chǔ)區(qū)讀取ー個(gè)字節(jié)的數(shù)據(jù),具體為 從地址(pD3+offset2)讀取ー個(gè)字節(jié)的數(shù)據(jù),其中,pD3為所述第三存儲(chǔ)區(qū)的首地址,offset2為所述第二指針寄存器中的數(shù)據(jù)。
21.如權(quán)利要求19所述的裝置,其特征在于,所述根據(jù)讀取到的預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù),輸出數(shù)據(jù)處理結(jié)果,具體包括 將所述第四存儲(chǔ)單元中的數(shù)據(jù)作為數(shù)據(jù)處理結(jié)果輸出; 或者, Cl、將所述第四存儲(chǔ)單元中的數(shù)據(jù)與第七預(yù)設(shè)值進(jìn)行與運(yùn)算,將所述運(yùn)算結(jié)果賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù); C2、對(duì)第五存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化; C3、判斷所述第五存儲(chǔ)單元中的數(shù)據(jù)是否小于第八預(yù)設(shè)值,如果小于,則執(zhí)行步驟C4;否則,執(zhí)行步驟C5; C4、將所述第四存儲(chǔ)單元中的數(shù)據(jù)對(duì)第九預(yù)設(shè)值取余,井根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,將取余得到的結(jié)果存儲(chǔ)到所述第九存儲(chǔ)區(qū);將所述第四存儲(chǔ)単元中的數(shù)據(jù)除以第九預(yù)設(shè)值得到的商賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù),將所述第五存儲(chǔ)單元中的數(shù)據(jù)加第三預(yù)設(shè)步長(zhǎng),并返回步驟C3 ; C5、根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和所述第九存儲(chǔ)區(qū)的首地址,讀取存儲(chǔ)在所述第九存儲(chǔ)區(qū)中的數(shù)據(jù),將讀取到的數(shù)據(jù)作為數(shù)據(jù)處理結(jié)果輸出; 或者, D1、將所述第四存儲(chǔ)單元中的數(shù)據(jù)與第七預(yù)設(shè)值進(jìn)行與運(yùn)算,將所述運(yùn)算結(jié)果賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù); D2、對(duì)第五存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行初始化; D3、判斷所述第五存儲(chǔ)單元中的數(shù)據(jù)是否小于第八預(yù)設(shè)值,如果小干,則執(zhí)行步驟D4 ;否則,執(zhí)行步驟D5; D4、將所述第四存儲(chǔ)單元中的數(shù)據(jù)對(duì)第九預(yù)設(shè)值取余,井根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,將取余得到的結(jié)果存儲(chǔ)到所述第九存儲(chǔ)區(qū);將所述第四存儲(chǔ)単元中的數(shù)據(jù)除以第九預(yù)設(shè)值得到的商賦值給所述第四存儲(chǔ)單元中的數(shù)據(jù),將所述第五存儲(chǔ)單元中的數(shù)據(jù)加第三預(yù)設(shè)步長(zhǎng),并返回步驟D3 ; D5、根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和所述第九存儲(chǔ)區(qū)的首地址,讀取存儲(chǔ)在所述第九存儲(chǔ)區(qū)中的數(shù)據(jù),根據(jù)讀取到的數(shù)據(jù),計(jì)算對(duì)應(yīng)的循環(huán)冗余校驗(yàn)碼CRC碼,將所述讀取到的數(shù)據(jù)和所述CRC碼作為數(shù)據(jù)處理結(jié)果輸出。
22.如權(quán)利要求21所述的裝置,其特征在于,所述根據(jù)第五存儲(chǔ)單元中的數(shù)據(jù)和第九存儲(chǔ)區(qū)的首地址,將取余得到的結(jié)果存儲(chǔ)到所述第九存儲(chǔ)區(qū),具體為 將所述取余得到的結(jié)果存儲(chǔ)到地址(pD9+i),其中,pD9為所述第九存儲(chǔ)區(qū)的首地址,i為所述第五存儲(chǔ)單元中的數(shù)據(jù); 所述根據(jù)所述第五存儲(chǔ)單元中的數(shù)據(jù)和所述第九存儲(chǔ)區(qū)的首地址,讀取存儲(chǔ)在所述第九存儲(chǔ)區(qū)中的數(shù)據(jù),具體為 讀取保存在從地址PD9到地址(pD9+i-l)之間的空間的數(shù)據(jù),其中,pD9為所述第九存儲(chǔ)區(qū)的首地址,i為所述第五存儲(chǔ)單元中的數(shù)據(jù)。
23.如權(quán)利要求18所述的裝置,其特征在于,所述第一處理模塊,還用于在將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新之前,將第十存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第十存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將第十預(yù)設(shè)值寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的所述第十預(yù)設(shè)值的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新;根據(jù)所述第十預(yù)設(shè)值被寫入到所述第六存儲(chǔ)區(qū)的位置,將第十一存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,井根據(jù)所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新; 所述將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體包括根據(jù)所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,井根據(jù)所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新。
24.如權(quán)利要求23所述的裝置,其特征在于,所述將第十存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為 將所述第十存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以所述第六存儲(chǔ)區(qū)的首地址為起始位置、大小與所述第十存儲(chǔ)區(qū)的大小相等的空間,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。
25.如權(quán)利要求23所述的裝置,其特征在于,所述根據(jù)所述第十存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將第十預(yù)設(shè)值寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的所述第十預(yù)設(shè)值的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為 確定所述第十存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,并將所述第十預(yù)設(shè)值寫入到所述第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的第十預(yù)設(shè)值所占的字節(jié)數(shù)。
26.如權(quán)利要求23所述的裝置,其特征在干,所述根據(jù)所述第十預(yù)設(shè)值被寫入到所述第六存儲(chǔ)區(qū)的位置,將第十一存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,井根據(jù)所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為 確定所述第十預(yù)設(shè)值被寫入到所述第六存儲(chǔ)區(qū)的位置,并將所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)寫入到所述第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的、所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。
27.如權(quán)利要求23所述的裝置,其特征在于,所述根據(jù)所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,將所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,井根據(jù)所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為 確定所述第十一存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第六存儲(chǔ)區(qū)的位置,并將所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入到所述第六存儲(chǔ)區(qū)中與確定出的位置相鄰的位置,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的、所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。
28.如權(quán)利要求18所述的裝置,其特征在于,所述將第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,具體為 將所述第四存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以所述第一存儲(chǔ)區(qū)的首地址為起始位置、大小與所述第四存儲(chǔ)區(qū)的大小相等的空間; 所述根據(jù)所述第一存儲(chǔ)區(qū)的大小對(duì)第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行賦值,具體為 將所述第一存儲(chǔ)單元中的數(shù)據(jù)賦值為第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。
29.如權(quán)利要求18所述的裝置,其特征在于,將第七存儲(chǔ)區(qū)中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū)中,并根據(jù)寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)的長(zhǎng)度,對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為 將所述第七存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以所述第六存儲(chǔ)區(qū)的首地址為起始位置、大小與所述第七存儲(chǔ)區(qū)的大小相等的空間,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加被寫入到所述第六存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。
30.如權(quán)利要求18所述的裝置,其特征在干,將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第六存儲(chǔ)區(qū),具體為 將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入到以所述第六存儲(chǔ)區(qū)中的預(yù)設(shè)位置為結(jié)束位置、大小與所述第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小相等的空間。
31.如權(quán)利要求18所述的裝置,其特征在于,根據(jù)所述第一指針寄存器中的數(shù)據(jù)和所述第一存儲(chǔ)區(qū)的大小,從所述第六存儲(chǔ)區(qū)中選取數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū),具體為 從地址(pD6+offSetl)開始,從所述第六存儲(chǔ)區(qū)中選取大小與所述第一存儲(chǔ)區(qū)的大小相同的數(shù)據(jù),并將選取的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū),將所述第一指針寄存器中的數(shù)據(jù)加所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù),將所述第一存儲(chǔ)單元中的數(shù)據(jù)減所述第一存儲(chǔ)區(qū) 中的數(shù)據(jù)所占的字節(jié)數(shù),其中,PD6為所述第六存儲(chǔ)區(qū)的首地址,offsetl為所述第一指針寄存器中的數(shù)據(jù)。
32.如權(quán)利要求18所述的裝置,其特征在干,將所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到所述第一存儲(chǔ)區(qū)中,井根據(jù)所述第八存儲(chǔ)區(qū)的大小對(duì)所述第一存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行更新,具體為 將所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)復(fù)制到以所述第一存儲(chǔ)區(qū)的首地址為起始位置、大小與所述第八存儲(chǔ)區(qū)的大小相等的空間,將所述第一存儲(chǔ)單元中的數(shù)據(jù)加寫入到所述第一存儲(chǔ)區(qū)中的數(shù)據(jù)所占的字節(jié)數(shù)。
33.如權(quán)利要求18所述的裝置,其特征在于,根據(jù)所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第一存儲(chǔ)區(qū)的位置,將所述第二預(yù)設(shè)值寫入所述第一存儲(chǔ)區(qū)中,具體為 確定所述第八存儲(chǔ)區(qū)中的數(shù)據(jù)被寫入到所述第一存儲(chǔ)區(qū)的位置,并將所述第二預(yù)設(shè)值寫入到所述第一存儲(chǔ)區(qū)中與確定出的位置相鄰的位置。
34.如權(quán)利要求18所述的裝置,其特征在于,所述將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入所述第一存儲(chǔ)區(qū),具體為 將所述第二存儲(chǔ)單元中的數(shù)據(jù)寫入以所述第一存儲(chǔ)區(qū)中的預(yù)設(shè)位置為結(jié)束位置、大小與所述第二存儲(chǔ)單元中的數(shù)據(jù)所占的空間大小相等的空間。
全文摘要
本發(fā)明公開一種數(shù)據(jù)處理方法和裝置,該方法包括以下步驟檢測(cè)數(shù)據(jù)處理信號(hào),判斷是否檢測(cè)到所述數(shù)據(jù)處理信號(hào),如果檢測(cè)到,則對(duì)部分存儲(chǔ)區(qū)中的數(shù)據(jù)進(jìn)行初始化,向初始化后的存儲(chǔ)區(qū)寫入數(shù)據(jù)并將該存儲(chǔ)區(qū)中的數(shù)據(jù)與預(yù)設(shè)值進(jìn)行一系列運(yùn)算,從存儲(chǔ)運(yùn)算結(jié)果的存儲(chǔ)區(qū)中讀取一個(gè)字節(jié)的數(shù)據(jù),將讀取到的一個(gè)字節(jié)的數(shù)據(jù)的取值作為索引,從存儲(chǔ)運(yùn)算結(jié)果的存儲(chǔ)區(qū)讀取預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù),并根據(jù)讀取到的預(yù)設(shè)數(shù)量字節(jié)的數(shù)據(jù),輸出數(shù)據(jù)處理結(jié)果。本發(fā)明能夠通過(guò)對(duì)一組或多組長(zhǎng)度不等、格式不同的數(shù)據(jù)進(jìn)行整合處理,輸出固定長(zhǎng)度、固定格式的數(shù)據(jù),提高了數(shù)據(jù)處理的效率,且輸出的數(shù)據(jù)具有隨機(jī)性好、處理過(guò)程不可逆等特點(diǎn)。
文檔編號(hào)G06F21/00GK102831347SQ20121027038
公開日2012年12月19日 申請(qǐng)日期2012年7月31日 優(yōu)先權(quán)日2012年7月31日
發(fā)明者陸舟, 于華章 申請(qǐng)人:飛天誠(chéng)信科技股份有限公司