本文作者:kaifamei

一種密鑰的序列化方法、反序列化方法和裝置與流程

更新時間:2025-12-27 04:37:14 0條評論

一種密鑰的序列化方法、反序列化方法和裝置與流程



1.本發(fā)明涉及密鑰序列化技術(shù)領(lǐng)域,尤其涉及一種密鑰的序列化方法、反序列化方法和裝置。


背景技術(shù):



2.隨著越來越多的業(yè)務(wù)活動可以通過網(wǎng)絡(luò)辦理,大量的業(yè)務(wù)數(shù)據(jù)通過網(wǎng)絡(luò)進(jìn)行查詢和傳輸?shù)炔僮鳎瑪?shù)據(jù)的安全性成為網(wǎng)絡(luò)安全中至關(guān)重要的部分,通過密鑰進(jìn)行加密的技術(shù)即是為了網(wǎng)絡(luò)場景下數(shù)據(jù)的安全性操作而產(chǎn)生。
3.現(xiàn)有的密鑰相關(guān)的處理方案中所采用的密鑰都是公開且通用的,大多數(shù)僅僅是一些基本數(shù)據(jù)類型的隨機(jī)數(shù),這樣生成的密鑰安全性較低。
4.因此現(xiàn)在亟需一種密鑰的序列化方法和反序列化方法來對密鑰進(jìn)行處理,進(jìn)而提高密鑰的安全性。


技術(shù)實(shí)現(xiàn)要素:



5.本發(fā)明實(shí)施例提供一種密鑰的序列化方法,用以提高密鑰的安全性,該方法包括:
6.根據(jù)密鑰結(jié)構(gòu)體模型,生成密鑰結(jié)構(gòu)體,所述密鑰結(jié)構(gòu)體包括多個按照確定序號排列的成員變量;
7.利用隨機(jī)數(shù)發(fā)生器生成多個成員變量分別對應(yīng)的變量值;
8.根據(jù)所述成員變量的變量類型,將與所述成員變量對應(yīng)的變量值進(jìn)行相應(yīng)類型的轉(zhuǎn)換,得到所述成員變量對應(yīng)的密鑰字段;
9.對成員變量的字面值進(jìn)行脫敏處理,得到變量字段,其中所述成員變量的字面值用于表征成員變量的變量類型;
10.將任一變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)行混淆處理,得到一指定序號的鍵值對,其中鍵對應(yīng)該變量字段,值對應(yīng)該密鑰字段;
11.按照指定序號將所有鍵值對排序后得到序列化后的密鑰。
12.優(yōu)選的,所述根據(jù)所述成員變量的變量類型,將與所述成員變量對應(yīng)的變量值進(jìn)行相應(yīng)類型的轉(zhuǎn)換,得到所述成員變量對應(yīng)的密鑰字段進(jìn)一步包括:
13.若所述成員變量的變量類型為基本數(shù)據(jù)類型,則利用序列化庫函數(shù)將與所述成員變量對應(yīng)的變量值轉(zhuǎn)換為字符串,將所述字符串作為所述成員變量對應(yīng)的密鑰字段;
14.若所述成員變量的變量類型為指針類型,則根據(jù)與所述成員變量對應(yīng)的變量值,確定并讀取指針?biāo)赶虻膬?nèi)存區(qū)域的數(shù)據(jù),利用序列化庫函數(shù)將所述數(shù)據(jù)轉(zhuǎn)換為字符串,將所述字符串作為所述成員變量對應(yīng)的密鑰字段。
15.優(yōu)選的,所述對成員變量的字面值進(jìn)行脫敏處理,得到變量字段進(jìn)一步包括:
16.利用預(yù)先建立的對照關(guān)系表,確定成員變量的字面值所對應(yīng)的對照值,將所述對照值作為變量字段。
17.優(yōu)選的,所述將任一變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)行混淆處理,
得到一指定序號的鍵值對,其中鍵對應(yīng)該變量字段,值對應(yīng)該密鑰字段進(jìn)一步包括:
18.將任一變量字段以及與該變量字段對應(yīng)的密鑰字段作為一鍵值對;
19.將該變量字段對應(yīng)的成員變量在按照確定序號排列時的確定序號,作為該鍵值對的確定序號;
20.根據(jù)該鍵值對的確定序號以及預(yù)先建立的映射關(guān)系表,確定該鍵值對所對應(yīng)的指定序號。
21.優(yōu)選的,所述按照指定序號將所有鍵值對排序后得到序列化后的密鑰之后還包括:
22.將按照指定序號排序后的所有鍵值對劃分形成設(shè)定數(shù)目的集合;
23.將所有集合存儲至多個服務(wù)器中,其中每一服務(wù)器均存儲所有集合,以確保負(fù)載均衡。
24.優(yōu)選的,所述多個服務(wù)器包括一個主服務(wù)器和多個從服務(wù)器;
25.所述將所有集合存儲至多個服務(wù)器中進(jìn)一步包括:
26.將所有集合寫入主服務(wù)器中;
27.所述主服務(wù)器將所有集合下發(fā)至多個從服務(wù)器,將所有集合存儲至多個從服務(wù)器中。
28.本發(fā)明實(shí)施例還提供一種一種密鑰的反序列化方法,包括:
29.根據(jù)密鑰結(jié)構(gòu)體模型,生成初始密鑰結(jié)構(gòu)體;
30.獲取按照指定序號排序的所有鍵值對,其中鍵對應(yīng)一變量字段,值對應(yīng)一密鑰字段;
31.s110:根據(jù)鍵值對的指定序號對任一鍵值對進(jìn)行反混淆處理,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段;
32.s120:對所述變量字段進(jìn)行反脫敏處理,得到一成員變量的字面值;
33.s130:根據(jù)所述成員變量的字面值確定所述成員變量的變量類型;
34.s140:根據(jù)所述成員變量的變量類型,將對應(yīng)的密鑰字段進(jìn)行反轉(zhuǎn)換,得到成員變量對應(yīng)的變量值;
35.根據(jù)所述成員變量對應(yīng)的變量值,以及所述初始密鑰結(jié)構(gòu)體,得到密鑰結(jié)構(gòu)體。
36.優(yōu)選的,所述根據(jù)鍵值對的指定序號對任一鍵值對進(jìn)行反混淆處理,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)一步包括:
37.根據(jù)任一鍵值對的指定序號以及預(yù)先建立的映射關(guān)系表,確定該鍵值對所對應(yīng)的確定序號;
38.將該確定序號作為鍵值對中變量字段的確定序號,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段。
39.優(yōu)選的,所述對所述變量字段進(jìn)行反脫敏處理,得到一成員變量的字面值進(jìn)一步包括:
40.將所述變量字段作為對照值,利用預(yù)先建立的對照關(guān)系表,確定所述對照值所對應(yīng)的值,將該值作為成員變量的字面值。
41.優(yōu)選的,所述根據(jù)所述成員變量的變量類型,將對應(yīng)的密鑰字段進(jìn)行反轉(zhuǎn)換,得到成員變量對應(yīng)的變量值進(jìn)一步包括:
42.若所述成員變量的變量類型為基本數(shù)據(jù)類型,則利用反序列化庫函數(shù)將對應(yīng)的密鑰字段反轉(zhuǎn)換得到對應(yīng)的變量值;
43.若所述成員變量的變量類型為指針類型,則利用反序列化庫函數(shù)將對應(yīng)的密鑰字段反轉(zhuǎn)換得到指針?biāo)赶虻膬?nèi)存區(qū)域中存儲的變量值。
44.優(yōu)選的,所述獲取按照指定序號排序的所有鍵值對進(jìn)一步包括:
45.由多個服務(wù)器中選取設(shè)定數(shù)目個服務(wù)器;
46.由選取的服務(wù)器中取一個集合;其中取得的任意兩個集合不相同,任一集合中包括至少一個按照指定序號排序的鍵值對,取得的所有集合中總計(jì)包括所有按照指定序號排序的鍵值對;
47.通過上述所述的密鑰的反序列化方法中的s110至s140并行處理多個集合。
48.優(yōu)選的,所述多個服務(wù)器包括一個主服務(wù)器和多個從服務(wù)器;
49.所述由多個服務(wù)器中選取設(shè)定數(shù)目個服務(wù)器進(jìn)一步包括:
50.由多個從服務(wù)器中選取設(shè)定數(shù)目個服務(wù)器。
51.本發(fā)明實(shí)施例還提供一種密鑰的序列化裝置,包括:
52.結(jié)構(gòu)體生成模塊,用于根據(jù)密鑰結(jié)構(gòu)體模型,生成密鑰結(jié)構(gòu)體,所述密鑰結(jié)構(gòu)體包括多個按照確定序號排列的成員變量;
53.變量值生成模塊,用于利用隨機(jī)數(shù)發(fā)生器生成多個成員變量分別對應(yīng)的變量值;
54.密鑰字段生成模塊,用于根據(jù)所述成員變量的變量類型,將與所述成員變量對應(yīng)的變量值進(jìn)行相應(yīng)類型的轉(zhuǎn)換,得到所述成員變量對應(yīng)的密鑰字段;
55.變量字段生成模塊,用于對成員變量的字面值進(jìn)行脫敏處理,得到變量字段,其中所述成員變量的字面值用于表征成員變量的變量類型;
56.混淆處理模塊,用于將任一變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)行混淆處理,得到一指定序號的鍵值對,其中鍵對應(yīng)該變量字段,值對應(yīng)該密鑰字段;
57.生成模塊,用于按照指定序號將所有鍵值對排序后得到序列化后的密鑰。
58.本發(fā)明實(shí)施例還提供一種密鑰的反序列化裝置,包括:
59.結(jié)構(gòu)體生成模塊,用于根據(jù)密鑰結(jié)構(gòu)體模型,生成初始密鑰結(jié)構(gòu)體;
60.鍵值對生成模塊,用于獲取按照指定序號排序的所有鍵值對,其中鍵對應(yīng)一變量字段,值對應(yīng)一密鑰字段;
61.反混淆模塊,用于根據(jù)鍵值對的指定序號對任一鍵值對進(jìn)行反混淆處理,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段;
62.反脫敏模塊,用于對所述變量字段進(jìn)行反脫敏處理,得到一成員變量的字面值;
63.類型確定模塊,用于根據(jù)所述成員變量的字面值確定所述成員變量的變量類型;
64.反轉(zhuǎn)換模塊,用于根據(jù)所述成員變量的變量類型,將對應(yīng)的密鑰字段進(jìn)行反轉(zhuǎn)換,得到成員變量對應(yīng)的變量值;
65.密鑰生成模塊,用于根據(jù)所述成員變量對應(yīng)的變量值,以及所述初始密鑰結(jié)構(gòu)體,得到密鑰結(jié)構(gòu)體。
66.本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時實(shí)現(xiàn)上述方法。
67.本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有
計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述方法。
68.本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述方法。
69.本發(fā)明實(shí)施例中,通過隨機(jī)數(shù)發(fā)生器生成密鑰結(jié)構(gòu)體中成員變量對應(yīng)的變量值,由于成員變量按照確定序號排列,成員變量對應(yīng)的確定序號即為變量值對應(yīng)的確定序號,根據(jù)確定序號將所有變量值進(jìn)行排列后即為完整的密鑰。為了提高密鑰的安全性,需要對變量值進(jìn)行轉(zhuǎn)換得到密鑰字段,對成員變量的字面值進(jìn)行脫敏處理得到變量字段,將變量字段以及對應(yīng)的密鑰字段進(jìn)行混淆處理,得到指定序號的鍵值對,按照指定序號將所有鍵值對排序得到序列化后的密鑰,此時序列化后的密鑰的安全性較高。而通過獲取按照指定序號排序的所有鍵值對,根據(jù)鍵值對進(jìn)行一系列反混淆、反脫敏和反轉(zhuǎn)換后,得到成員變量對應(yīng)的變量值,然后將對應(yīng)的變量值寫入初始密鑰結(jié)構(gòu)體中,即可得到密鑰結(jié)構(gòu)體,密鑰結(jié)構(gòu)體中所有成員變量對應(yīng)的變量值依確定序號取出即可得到安全性較高的完整密鑰。
附圖說明
70.為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。在附圖中:
71.圖1為本發(fā)明實(shí)施例中提供的一種密鑰的序列化方法的流程示意圖;
72.圖2為本發(fā)明實(shí)施例中提供的用于根據(jù)成員變量的變量類型,將與成員變量對應(yīng)的變量值進(jìn)行相應(yīng)類型的轉(zhuǎn)換,得到成員變量對應(yīng)的密鑰字段的流程示意圖;
73.圖3為本發(fā)明實(shí)施例中提供的用于將任一變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)行混淆處理,得到一指定序號的鍵值對的流程示意圖;
74.圖4為本發(fā)明實(shí)施例中提供的在按照指定序號將所有鍵值對排序后得到序列化后的密鑰之后的流程示意圖;
75.圖5為本發(fā)明實(shí)施例中提供的用于將所有集合存儲至多個服務(wù)器中的流程示意圖;
76.圖6為本發(fā)明實(shí)施例中提供的一種密鑰的反序列化方法的流程示意圖;
77.圖7為本發(fā)明實(shí)施例中提供的用于根據(jù)鍵值對的指定序號對任一鍵值對進(jìn)行反混淆處理,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段的流程示意圖;
78.圖8為本發(fā)明實(shí)施例中提供的用于根據(jù)成員變量的變量類型,將對應(yīng)的密鑰字段進(jìn)行反轉(zhuǎn)換,得到成員變量對應(yīng)的變量值的流程示意圖;
79.圖9為本發(fā)明實(shí)施例中提供的一種密鑰的序列化裝置的結(jié)構(gòu)示意圖;
80.圖10為本發(fā)明實(shí)施例中提供的一種密鑰的反序列化裝置的結(jié)構(gòu)示意圖;
81.圖11為本發(fā)明實(shí)施例中提供的計(jì)算機(jī)設(shè)備的結(jié)構(gòu)示意圖。
82.附圖符號說明:
83.10、結(jié)構(gòu)體生成模塊;
84.11、變量值生成模塊;
85.12、密鑰字段生成模塊;
86.13、變量字段生成模塊;
87.14、混淆處理模塊;
88.15、生成模塊;
89.20、結(jié)構(gòu)體生成模塊;
90.21、鍵值對生成模塊;
91.22、反混淆模塊;
92.23、反脫敏模塊;
93.24、類型確定模塊;
94.25、反轉(zhuǎn)換模塊;
95.26、密鑰生成模塊;
96.1102、計(jì)算機(jī)設(shè)備;
97.1104、處理器;
98.1106、存儲器;
99.1108、驅(qū)動機(jī)構(gòu);
100.1110、輸入/輸出模塊;
101.1112、輸入設(shè)備;
102.1114、輸出設(shè)備;
103.1116、呈現(xiàn)設(shè)備;
104.1118、圖形用戶接口;
105.1120、網(wǎng)絡(luò)接口;
106.1122、通信鏈路;
107.1124、通信總線。
具體實(shí)施方式
108.為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖對本發(fā)明實(shí)施例做進(jìn)一步詳細(xì)說明。在此,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。
109.現(xiàn)有的密鑰相關(guān)的處理方案中所采用的密鑰都是公開且通用的,大多數(shù)僅僅是一些基本數(shù)據(jù)類型的隨機(jī)數(shù),這樣生成的密鑰安全性較低。
110.為了解決上述問題,本發(fā)明實(shí)施例提供了一種密鑰的序列化方法。圖1是本發(fā)明實(shí)施例提供的一種密鑰的序列化方法的流程示意圖,本說明書提供了如實(shí)施例或流程圖所述的方法操作步驟,但基于常規(guī)或者無創(chuàng)造性的勞動可以包括更多或者更少的操作步驟。實(shí)施例中列舉的步驟順序僅僅為眾多步驟執(zhí)行順序中的一種方式,不代表唯一的執(zhí)行順序。在實(shí)際中的系統(tǒng)或裝置產(chǎn)品執(zhí)行時,可以按照實(shí)施例或者附圖所示的方法順序執(zhí)行或者并行執(zhí)行。
111.需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或
描述的那些以外的順序?qū)嵤4送猓g(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、裝置、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
112.參照圖1,本發(fā)明示出了一種密鑰的序列化方法,包括:
113.s101:根據(jù)密鑰結(jié)構(gòu)體模型,生成密鑰結(jié)構(gòu)體,所述密鑰結(jié)構(gòu)體包括多個按照確定序號排列的成員變量;
114.s102:利用隨機(jī)數(shù)發(fā)生器生成多個成員變量分別對應(yīng)的變量值;
115.s103:根據(jù)所述成員變量的變量類型,將與所述成員變量對應(yīng)的變量值進(jìn)行相應(yīng)類型的轉(zhuǎn)換,得到所述成員變量對應(yīng)的密鑰字段;
116.s104:對成員變量的字面值進(jìn)行脫敏處理,得到變量字段,其中所述成員變量的字面值用于表征成員變量的變量類型;
117.s105:將任一變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)行混淆處理,得到一指定序號的鍵值對,其中鍵對應(yīng)該變量字段,值對應(yīng)該密鑰字段;
118.s106:按照指定序號將所有鍵值對排序后得到序列化后的密鑰。
119.結(jié)構(gòu)體是一種數(shù)據(jù)類型,描述了一塊內(nèi)存空間的大小及解釋意義,一般來說結(jié)構(gòu)體由不同類型的成員變量組成。密鑰結(jié)構(gòu)體模型用于生成密鑰結(jié)構(gòu)體,密鑰結(jié)構(gòu)體模型中成員變量的排列順序是固定的,因此根據(jù)密鑰結(jié)構(gòu)體模型生成的密鑰結(jié)構(gòu)體中的成員變量按照確定序號排列。
120.利用隨機(jī)數(shù)發(fā)生器生成多個成員變量分別對應(yīng)的變量值,多個變量值按照分別對應(yīng)的多個成員變量的確定序號排列后即構(gòu)成密鑰。例如密鑰結(jié)構(gòu)體中包括按照確定序號排列的成員變量a、b和c,利用隨機(jī)數(shù)發(fā)生器生成a對應(yīng)的變量值為1,b對應(yīng)的變量值為3,c對應(yīng)的變量值為5,則密鑰即為135。需要說明的是,若成員變量中的成員變量為數(shù)組,則數(shù)組中每個元素均對應(yīng)一個變量值,例如成員變量c是長度為3的一維數(shù)組,利用隨機(jī)數(shù)發(fā)生器生成成員變量的3個變量值為7、9、6。
121.由于成員變量的類型不同,例如成員變量可能為整型、字符型、浮點(diǎn)型和指針型,但整體上可以將整型、字符型和浮點(diǎn)型等統(tǒng)一為基本數(shù)據(jù)類型,進(jìn)而將成員變量的類型分為基本數(shù)據(jù)類型和指針類型。根據(jù)成員變量的變量類型不同,將與成員變量對應(yīng)的變量值進(jìn)行相應(yīng)類型的轉(zhuǎn)換,可以得到成員變量對應(yīng)的密鑰字段。
122.進(jìn)一步的,成員變量的字面值用于表征成員變量的變量類型,例如整型變量a,其中字母a為整型變量的字面值,用于表征該成員變量為整型變量。對成員變量的字面值進(jìn)行脫敏處理后,可以得到變量字段,脫敏處理的目的是對成員變量的信息進(jìn)行隱藏。
123.對于成員變量來說,對應(yīng)有變量值,但變量值轉(zhuǎn)換為密鑰字段,成員變量的處理后得到變量字段,也就是說變量字段對應(yīng)有密鑰字段,變量字段和對應(yīng)的密鑰字段構(gòu)成一個鍵值對。由于成員變量按照確定序號排列,因此鍵值對也是按照確定序號排列,后續(xù)對變量字段以及對應(yīng)的密鑰字段進(jìn)行混淆處理的目的是將鍵值對的排列序號進(jìn)行混淆,得到指定序號排列的鍵值對,例如將原來序號為1的鍵值對混淆為序號為5的鍵值對,按照指定序號將所有鍵值對排序后即可得到序列化后的密鑰。
124.在本發(fā)明實(shí)施例中,通過隨機(jī)數(shù)發(fā)生器生成密鑰結(jié)構(gòu)體中成員變量對應(yīng)的變量
值,由于成員變量按照確定序號排列,成員變量對應(yīng)的確定序號即為變量值對應(yīng)的確定序號,根據(jù)確定序號將所有變量值進(jìn)行排列后即為完整的密鑰。為了提高密鑰的安全性,需要對變量值進(jìn)行轉(zhuǎn)換得到密鑰字段,對成員變量的字面值進(jìn)行脫敏處理得到變量字段,將變量字段以及對應(yīng)的密鑰字段進(jìn)行混淆處理,得到指定序號的鍵值對,按照指定序號將所有鍵值對排序得到序列化后的密鑰,此時序列化后的密鑰的安全性較高。
125.參照圖2,所述根據(jù)所述成員變量的變量類型,將與所述成員變量對應(yīng)的變量值進(jìn)行相應(yīng)類型的轉(zhuǎn)換,得到所述成員變量對應(yīng)的密鑰字段進(jìn)一步包括:
126.s201:若所述成員變量的變量類型為基本數(shù)據(jù)類型,則利用序列化庫函數(shù)將與所述成員變量對應(yīng)的變量值轉(zhuǎn)換為字符串,將所述字符串作為所述成員變量對應(yīng)的密鑰字段;
127.s202:若所述成員變量的變量類型為指針類型,則根據(jù)與所述成員變量對應(yīng)的變量值,確定并讀取指針?biāo)赶虻膬?nèi)存區(qū)域的數(shù)據(jù),利用序列化庫函數(shù)將所述數(shù)據(jù)轉(zhuǎn)換為字符串,將所述字符串作為所述成員變量對應(yīng)的密鑰字段。
128.序列化庫函數(shù)可以將變量值轉(zhuǎn)換為字符串,但是對于指針類型的成員變量來說,指針型對應(yīng)的變量值代表的是內(nèi)存區(qū)域,首先讀取指針對應(yīng)的變量值,即確定指針?biāo)赶虻膬?nèi)存區(qū)域,然后將該內(nèi)存區(qū)域中的數(shù)據(jù)讀取出來,通過序列化庫函數(shù)將該數(shù)據(jù)轉(zhuǎn)換為字符串,將字符串作為密鑰字段。需要說明的是,可以在每個密鑰字段末尾添加統(tǒng)一的字符后綴,作為密鑰字段結(jié)束標(biāo)識。
129.在本發(fā)明實(shí)施例中,所述對成員變量的字面值進(jìn)行脫敏處理,得到變量字段進(jìn)一步包括:
130.利用預(yù)先建立的對照關(guān)系表,確定成員變量的字面值所對應(yīng)的對照值,將所述對照值作為變量字段。
131.對照關(guān)系表中記錄了多組值之間的對應(yīng)關(guān)系,根據(jù)成員變量的字面值查表即可得到對應(yīng)的對照值,例如成員變量的字面值為a,對應(yīng)的對照值為m。
132.參照圖3,所述將任一變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)行混淆處理,得到一指定序號的鍵值對,其中鍵對應(yīng)該變量字段,值對應(yīng)該密鑰字段進(jìn)一步包括:
133.s301:將任一變量字段以及與該變量字段對應(yīng)的密鑰字段作為一鍵值對;
134.s302:將該變量字段對應(yīng)的成員變量在按照確定序號排列時的確定序號,作為該鍵值對的確定序號;
135.s303:根據(jù)該鍵值對的確定序號以及預(yù)先建立的映射關(guān)系表,確定該鍵值對所對應(yīng)的指定序號。
136.鍵值對中鍵對應(yīng)變量字段,值對應(yīng)密鑰字段,例如鍵值對m-33,其中m為變量字段,33為密鑰字段。映射關(guān)系表中記錄了確定序號與指定序號之間的映射關(guān)系,根據(jù)鍵值對的確定序號通過查表可以得到與之對應(yīng)的指定序號,例如鍵值對的確定序號為1,對應(yīng)的指定序號為3。
137.在本發(fā)明實(shí)施例中,經(jīng)過上述步驟之后,例如得到指定序號為1的鍵值對m-33,指定序號為2的鍵值對c-52,指定序號為3的鍵值對h-67,則得到序列化后的密鑰為335267。
138.在本發(fā)明實(shí)施例中,參照圖4,所述按照指定序號將所有鍵值對排序后得到序列化后的密鑰之后還包括:
139.s401:將按照指定序號排序后的所有鍵值對劃分形成設(shè)定數(shù)目的集合;
140.s402:將所有集合存儲至多個服務(wù)器中,其中每一服務(wù)器均存儲所有集合,以確保負(fù)載均衡。
141.例如,可以將所有鍵值對劃分形成3個集合或者4個集合等,以劃分形成3個集合為例,第1個集合中包括指定序號為1的鍵值對m-33,第2個集合中包括指定序號為2的鍵值對c-52,第3個集合中包括指定序號為3的鍵值對h-67,將3個集合存儲至多個服務(wù)器中。
142.其中,所述多個服務(wù)器包括一個主服務(wù)器和多個從服務(wù)器;
143.參照圖5,所述將所有集合存儲至多個服務(wù)器中進(jìn)一步包括:
144.s501:將所有集合寫入主服務(wù)器中;
145.s502:所述主服務(wù)器將所有集合下發(fā)至多個從服務(wù)器,將所有集合存儲至多個從服務(wù)器中。
146.所有集合寫入主服務(wù)器中,由主服務(wù)器在合適時間下發(fā)至多個從服務(wù)器,以保證數(shù)據(jù)的一致性。
147.為了確保數(shù)據(jù)完整性,還可以在多個從服務(wù)器中寫入校驗(yàn)值。
148.參照圖6,本發(fā)明還包括一種密鑰的反序列化方法,包括:
149.s000:根據(jù)密鑰結(jié)構(gòu)體模型,生成初始密鑰結(jié)構(gòu)體;
150.s100:獲取按照指定序號排序的所有鍵值對,其中鍵對應(yīng)一變量字段,值對應(yīng)一密鑰字段;
151.s110:根據(jù)鍵值對的指定序號對任一鍵值對進(jìn)行反混淆處理,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段;
152.s120:對所述變量字段進(jìn)行反脫敏處理,得到一成員變量的字面值;
153.s130:根據(jù)所述成員變量的字面值確定所述成員變量的變量類型;
154.s140:根據(jù)所述成員變量的變量類型,將對應(yīng)的密鑰字段進(jìn)行反轉(zhuǎn)換,得到成員變量對應(yīng)的變量值;
155.s150:根據(jù)所述成員變量對應(yīng)的變量值,以及所述初始密鑰結(jié)構(gòu)體,得到密鑰結(jié)構(gòu)體。
156.根據(jù)密鑰結(jié)構(gòu)體模型生成初始密鑰結(jié)構(gòu)體,在s000中的密鑰結(jié)構(gòu)體模型與s101中的密鑰結(jié)構(gòu)體模型是同一個模型,因此s101中生成的密鑰結(jié)構(gòu)體和s000生成的初始密鑰結(jié)構(gòu)體中的成員變量的類型均相同,且成員變量均按照確定序號排列。但是對于s101中的密鑰結(jié)構(gòu)體來說,需要利用隨機(jī)數(shù)發(fā)生器生成多個成員變量分別對于的變量值,而對于s000中的初始密鑰結(jié)構(gòu)體來說,不需要利用隨機(jī)數(shù)發(fā)生器生成多個成員變量分別對于的變量值,而是需要通過獲取按照指定序號排序的所有鍵值對,根據(jù)鍵值對進(jìn)行一系列反混淆、反脫敏和反轉(zhuǎn)換后,得到成員變量對應(yīng)的變量值,然后將對應(yīng)的變量值寫入初始密鑰結(jié)構(gòu)體中,即可得到密鑰結(jié)構(gòu)體,密鑰結(jié)構(gòu)體中所有成員變量對應(yīng)的變量值依確定序號取出即可得到完整密鑰。
157.進(jìn)一步的,參照圖7,所述根據(jù)鍵值對的指定序號對任一鍵值對進(jìn)行反混淆處理,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)一步包括:
158.s200:根據(jù)任一鍵值對的指定序號以及預(yù)先建立的映射關(guān)系表,確定該鍵值對所對應(yīng)的確定序號;
159.s210:將該確定序號作為鍵值對中變量字段的確定序號,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段。
160.映射關(guān)系表中記錄了確定序號與指定序號之間的映射關(guān)系,根據(jù)鍵值對的指定序號通過查表可以得到與之對應(yīng)的確定序號,鍵值對的確定序號即為變量字段的確定序號。
161.在本發(fā)明實(shí)施例中,所述對所述變量字段進(jìn)行反脫敏處理,得到一成員變量的字面值進(jìn)一步包括:
162.將所述變量字段作為對照值,利用預(yù)先建立的對照關(guān)系表,確定所述對照值所對應(yīng)的值,將該值作為成員變量的字面值。
163.對照關(guān)系表中記錄了多組值之間的對照關(guān)系,通過查表可以確定變量字段對應(yīng)的值,即得到成員變量的字面值。
164.根據(jù)成員變量的字面值可以進(jìn)一步確定成員變量的變量類型,例如可以利用預(yù)設(shè)表記錄成員變量的字面值和對應(yīng)的變量類型,通過查表確定成員變量的變量類型;還可以直接對照初始密鑰結(jié)構(gòu)體,因?yàn)槌跏济荑€結(jié)構(gòu)體中的成員變量的字面值和變量類型是確定的,通過將成員變量的字面值對照初始密鑰結(jié)構(gòu)體可以確定變量類型。
165.參照圖8,所述根據(jù)所述成員變量的變量類型,將對應(yīng)的密鑰字段進(jìn)行反轉(zhuǎn)換,得到成員變量對應(yīng)的變量值進(jìn)一步包括:
166.s300:若所述成員變量的變量類型為基本數(shù)據(jù)類型,則利用反序列化庫函數(shù)將對應(yīng)的密鑰字段反轉(zhuǎn)換得到對應(yīng)的變量值;
167.s310:若所述成員變量的變量類型為指針類型,則利用反序列化庫函數(shù)將對應(yīng)的密鑰字段反轉(zhuǎn)換得到指針?biāo)赶虻膬?nèi)存區(qū)域中存儲的變量值。
168.利用反序列化庫函數(shù)可以對密鑰字段進(jìn)行反轉(zhuǎn)換,得到對應(yīng)的變量值,將變量值寫入初始密鑰結(jié)構(gòu)體中,即可得到密鑰結(jié)構(gòu)體。
169.在本發(fā)明實(shí)施例中,所述獲取按照指定序號排序的所有鍵值對進(jìn)一步包括:
170.由多個服務(wù)器中選取設(shè)定數(shù)目個服務(wù)器;
171.由選取的服務(wù)器中取一個集合;其中取得的任意兩個集合不相同,任一集合中包括至少一個按照指定序號排序的鍵值對,取得的所有集合中總計(jì)包括所有按照指定序號排序的鍵值對;
172.通過上述所述的密鑰的反序列化方法中的s110至s140并行處理多個集合。
173.其中所述多個服務(wù)器包括一個主服務(wù)器和多個從服務(wù)器;
174.所述由多個服務(wù)器中選取設(shè)定數(shù)目個服務(wù)器進(jìn)一步包括:
175.由多個從服務(wù)器中選取設(shè)定數(shù)目個服務(wù)器。
176.主服務(wù)器只寫入不讀取,讀取只在從服務(wù)器中進(jìn)行,選取設(shè)定數(shù)目個從服務(wù)器時可以按照空閑程度進(jìn)行選取,選取其中較為空閑的從服務(wù)器。由每個從服務(wù)器中讀取一個集合,每個集合中包括至少一個鍵值對,所有集合中組成的鍵值對即為全部鍵值對。在處理多個集合時采取并行處理的方法,這樣能夠加快處理速度,提高處理效率。
177.當(dāng)然在由從服務(wù)器中讀取集合之前可以先通過校驗(yàn)值來驗(yàn)證數(shù)據(jù)完整性,一般采用循環(huán)冗余校驗(yàn)(crc)算法計(jì)算校驗(yàn)值,用來核實(shí)數(shù)據(jù)傳輸和保存過程中的正確性和完整性,如果讀取后計(jì)算的校驗(yàn)值與存儲的校驗(yàn)值不一致,則代表這個集合中的鍵值對或校驗(yàn)值有誤,這個集合會被拋棄,并從其他從服務(wù)器中重新讀取。
178.本發(fā)明實(shí)施例中還提供了一種密鑰的序列化裝置,如下面的實(shí)施例所述。由于該裝置解決問題的原理與一種密鑰的序列化方法相似,因此該裝置的實(shí)施可以參見方法的實(shí)施,重復(fù)之處不再贅述。
179.參照圖9,一種密鑰的序列化裝置,包括:
180.結(jié)構(gòu)體生成模塊10,用于根據(jù)密鑰結(jié)構(gòu)體模型,生成密鑰結(jié)構(gòu)體,所述密鑰結(jié)構(gòu)體包括多個按照確定序號排列的成員變量;
181.變量值生成模塊11,用于利用隨機(jī)數(shù)發(fā)生器生成多個成員變量分別對應(yīng)的變量值;
182.密鑰字段生成模塊12,用于根據(jù)所述成員變量的變量類型,將與所述成員變量對應(yīng)的變量值進(jìn)行相應(yīng)類型的轉(zhuǎn)換,得到所述成員變量對應(yīng)的密鑰字段;
183.變量字段生成模塊13,用于對成員變量的字面值進(jìn)行脫敏處理,得到變量字段,其中所述成員變量的字面值用于表征成員變量的變量類型;
184.混淆處理模塊14,用于將任一變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)行混淆處理,得到一指定序號的鍵值對,其中鍵對應(yīng)該變量字段,值對應(yīng)該密鑰字段;
185.生成模塊15,用于按照指定序號將所有鍵值對排序后得到序列化后的密鑰。
186.本發(fā)明實(shí)施例中還提供了一種密鑰的反序列化裝置,如下面的實(shí)施例所述。由于該裝置解決問題的原理與一種密鑰的反序列化方法相似,因此該裝置的實(shí)施可以參見方法的實(shí)施,重復(fù)之處不再贅述。
187.參照圖10,一種密鑰的反序列化裝置,包括:
188.結(jié)構(gòu)體生成模塊20,用于根據(jù)密鑰結(jié)構(gòu)體模型,生成初始密鑰結(jié)構(gòu)體;
189.鍵值對生成模塊21,用于獲取按照指定序號排序的所有鍵值對,其中鍵對應(yīng)一變量字段,值對應(yīng)一密鑰字段;
190.反混淆模塊22,用于根據(jù)鍵值對的指定序號對任一鍵值對進(jìn)行反混淆處理,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段;
191.反脫敏模塊23,用于對所述變量字段進(jìn)行反脫敏處理,得到一成員變量的字面值;
192.類型確定模塊24,用于根據(jù)所述成員變量的字面值確定所述成員變量的變量類型;
193.反轉(zhuǎn)換模塊25,用于根據(jù)所述成員變量的變量類型,將對應(yīng)的密鑰字段進(jìn)行反轉(zhuǎn)換,得到成員變量對應(yīng)的變量值;
194.密鑰生成模塊26,用于根據(jù)所述成員變量對應(yīng)的變量值,以及所述初始密鑰結(jié)構(gòu)體,得到密鑰結(jié)構(gòu)體。
195.本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時實(shí)現(xiàn)上述方法。
196.參照圖11所示,其中上述方法運(yùn)行在計(jì)算機(jī)設(shè)備1102上。計(jì)算機(jī)設(shè)備1102可以包括一個或多個處理器1104,諸如一個或多個中央處理單元(cpu)或圖形處理器(gpu),每個處理單元可以實(shí)現(xiàn)一個或多個硬件線程。計(jì)算機(jī)設(shè)備1102還可以包括任何存儲器1106,其用于存儲諸如代碼、設(shè)置、數(shù)據(jù)等之類的任何種類的信息,一具體實(shí)施方式中,存儲器1106上并可在處理器1104上運(yùn)行的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器1104運(yùn)行時,可以執(zhí)行根據(jù)上述方法的指令。非限制性的,比如,存儲器1106可以包括以下任一項(xiàng)或多種組
合:任何類型的ram,任何類型的rom,閃存設(shè)備,硬盤,光盤等。更一般地,任何存儲器都可以使用任何技術(shù)來存儲信息。進(jìn)一步地,任何存儲器可以提供信息的易失性或非易失性保留。進(jìn)一步地,任何存儲器可以表示計(jì)算機(jī)設(shè)備1102的固定或可移除部件。在一種情況下,當(dāng)處理器1104執(zhí)行被存儲在任何存儲器或存儲器的組合中的相關(guān)聯(lián)的指令時,計(jì)算機(jī)設(shè)備1102可以執(zhí)行相關(guān)聯(lián)指令的任一操作。計(jì)算機(jī)設(shè)備1102還包括用于與任何存儲器交互的一個或多個驅(qū)動機(jī)構(gòu)1108,諸如硬盤驅(qū)動機(jī)構(gòu)、光盤驅(qū)動機(jī)構(gòu)等。
197.計(jì)算機(jī)設(shè)備1102還可以包括輸入/輸出模塊1110(i/o),其用于接收各種輸入(經(jīng)由輸入設(shè)備1112)和用于提供各種輸出(經(jīng)由輸出設(shè)備1114)。一個具體輸出機(jī)構(gòu)可以包括呈現(xiàn)設(shè)備1116和相關(guān)聯(lián)的圖形用戶接口1118(gui)。在其他實(shí)施例中,還可以不包括輸入/輸出模塊1110(i/o)、輸入設(shè)備1112以及輸出設(shè)備1114,僅作為網(wǎng)絡(luò)中的一臺計(jì)算機(jī)設(shè)備。計(jì)算機(jī)設(shè)備1102還可以包括一個或多個網(wǎng)絡(luò)接口1120,其用于經(jīng)由一個或多個通信鏈路1122與其他設(shè)備交換數(shù)據(jù)。一個或多個通信總線1124將上文所描述的部件耦合在一起。
198.通信鏈路1122可以以任何方式實(shí)現(xiàn),例如,通過局域網(wǎng)、廣域網(wǎng)(例如,因特網(wǎng))、點(diǎn)對點(diǎn)連接等、或其任何組合。通信鏈路1122可以包括由任何協(xié)議或協(xié)議組合支配的硬連線鏈路、無線鏈路、路由器、網(wǎng)關(guān)功能、名稱服務(wù)器等的任何組合。
199.本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述方法。
200.本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述方法。
201.本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
202.為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本文的范圍。
203.所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
204.本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
205.這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或
多個方框中指定的功能。
206.這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
207.在本文所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機(jī)械的或其它的形式連接。
208.所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本文實(shí)施例方案的目的。
209.另外,在本文各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以是兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
210.所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中。
211.以上所述的具體實(shí)施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

技術(shù)特征:


1.一種密鑰的序列化方法,其特征在于,包括:根據(jù)密鑰結(jié)構(gòu)體模型,生成密鑰結(jié)構(gòu)體,所述密鑰結(jié)構(gòu)體包括多個按照確定序號排列的成員變量;利用隨機(jī)數(shù)發(fā)生器生成多個成員變量分別對應(yīng)的變量值;根據(jù)所述成員變量的變量類型,將與所述成員變量對應(yīng)的變量值進(jìn)行相應(yīng)類型的轉(zhuǎn)換,得到所述成員變量對應(yīng)的密鑰字段;對成員變量的字面值進(jìn)行脫敏處理,得到變量字段,其中所述成員變量的字面值用于表征成員變量的變量類型;將任一變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)行混淆處理,得到一指定序號的鍵值對,其中鍵對應(yīng)該變量字段,值對應(yīng)該密鑰字段;按照指定序號將所有鍵值對排序后得到序列化后的密鑰。2.如權(quán)利要求1所述的密鑰的序列化方法,其特征在于,所述根據(jù)所述成員變量的變量類型,將與所述成員變量對應(yīng)的變量值進(jìn)行相應(yīng)類型的轉(zhuǎn)換,得到所述成員變量對應(yīng)的密鑰字段進(jìn)一步包括:若所述成員變量的變量類型為基本數(shù)據(jù)類型,則利用序列化庫函數(shù)將與所述成員變量對應(yīng)的變量值轉(zhuǎn)換為字符串,將所述字符串作為所述成員變量對應(yīng)的密鑰字段;若所述成員變量的變量類型為指針類型,則根據(jù)與所述成員變量對應(yīng)的變量值,確定并讀取指針?biāo)赶虻膬?nèi)存區(qū)域的數(shù)據(jù),利用序列化庫函數(shù)將所述數(shù)據(jù)轉(zhuǎn)換為字符串,將所述字符串作為所述成員變量對應(yīng)的密鑰字段。3.如權(quán)利要求1所述的密鑰的序列化方法,其特征在于,所述對成員變量的字面值進(jìn)行脫敏處理,得到變量字段進(jìn)一步包括:利用預(yù)先建立的對照關(guān)系表,確定成員變量的字面值所對應(yīng)的對照值,將所述對照值作為變量字段。4.如權(quán)利要求1所述的密鑰的序列化方法,其特征在于,所述將任一變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)行混淆處理,得到一指定序號的鍵值對,其中鍵對應(yīng)該變量字段,值對應(yīng)該密鑰字段進(jìn)一步包括:將任一變量字段以及與該變量字段對應(yīng)的密鑰字段作為一鍵值對;將該變量字段對應(yīng)的成員變量在按照確定序號排列時的確定序號,作為該鍵值對的確定序號;根據(jù)該鍵值對的確定序號以及預(yù)先建立的映射關(guān)系表,確定該鍵值對所對應(yīng)的指定序號。5.如權(quán)利要求1所述的密鑰的序列化方法,其特征在于,所述按照指定序號將所有鍵值對排序后得到序列化后的密鑰之后還包括:將按照指定序號排序后的所有鍵值對劃分形成設(shè)定數(shù)目的集合;將所有集合存儲至多個服務(wù)器中,其中每一服務(wù)器均存儲所有集合,以確保負(fù)載均衡。6.如權(quán)利要求5所述的密鑰的序列化方法,其特征在于,所述多個服務(wù)器包括一個主服務(wù)器和多個從服務(wù)器;所述將所有集合存儲至多個服務(wù)器中進(jìn)一步包括:將所有集合寫入主服務(wù)器中;
所述主服務(wù)器將所有集合下發(fā)至多個從服務(wù)器,將所有集合存儲至多個從服務(wù)器中。7.一種密鑰的反序列化方法,其特征在于,包括:根據(jù)密鑰結(jié)構(gòu)體模型,生成初始密鑰結(jié)構(gòu)體;獲取按照指定序號排序的所有鍵值對,其中鍵對應(yīng)一變量字段,值對應(yīng)一密鑰字段;s110:根據(jù)鍵值對的指定序號對任一鍵值對進(jìn)行反混淆處理,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段;s120:對所述變量字段進(jìn)行反脫敏處理,得到一成員變量的字面值;s130:根據(jù)所述成員變量的字面值確定所述成員變量的變量類型;s140:根據(jù)所述成員變量的變量類型,將對應(yīng)的密鑰字段進(jìn)行反轉(zhuǎn)換,得到成員變量對應(yīng)的變量值;根據(jù)所述成員變量對應(yīng)的變量值,以及所述初始密鑰結(jié)構(gòu)體,得到密鑰結(jié)構(gòu)體。8.如權(quán)利要求7所述的密鑰的反序列化方法,其特征在于,所述根據(jù)鍵值對的指定序號對任一鍵值對進(jìn)行反混淆處理,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)一步包括:根據(jù)任一鍵值對的指定序號以及預(yù)先建立的映射關(guān)系表,確定該鍵值對所對應(yīng)的確定序號;將該確定序號作為鍵值對中變量字段的確定序號,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段。9.如權(quán)利要求7所述的密鑰的反序列化方法,其特征在于,所述對所述變量字段進(jìn)行反脫敏處理,得到一成員變量的字面值進(jìn)一步包括:將所述變量字段作為對照值,利用預(yù)先建立的對照關(guān)系表,確定所述對照值所對應(yīng)的值,將該值作為成員變量的字面值。10.如權(quán)利要求7所述的密鑰的反序列化方法,其特征在于,所述根據(jù)所述成員變量的變量類型,將對應(yīng)的密鑰字段進(jìn)行反轉(zhuǎn)換,得到成員變量對應(yīng)的變量值進(jìn)一步包括:若所述成員變量的變量類型為基本數(shù)據(jù)類型,則利用反序列化庫函數(shù)將對應(yīng)的密鑰字段反轉(zhuǎn)換得到對應(yīng)的變量值;若所述成員變量的變量類型為指針類型,則利用反序列化庫函數(shù)將對應(yīng)的密鑰字段反轉(zhuǎn)換得到指針?biāo)赶虻膬?nèi)存區(qū)域中存儲的變量值。11.如權(quán)利要求7所述的密鑰的反序列化方法,其特征在于,所述獲取按照指定序號排序的所有鍵值對進(jìn)一步包括:由多個服務(wù)器中選取設(shè)定數(shù)目個服務(wù)器;由選取的服務(wù)器中取一個集合;其中取得的任意兩個集合不相同,任一集合中包括至少一個按照指定序號排序的鍵值對,取得的所有集合中總計(jì)包括所有按照指定序號排序的鍵值對。12.如權(quán)利要求11所述的密鑰的反序列化方法,其特征在于,所述多個服務(wù)器包括一個主服務(wù)器和多個從服務(wù)器;所述由多個服務(wù)器中選取設(shè)定數(shù)目個服務(wù)器進(jìn)一步包括:由多個從服務(wù)器中選取設(shè)定數(shù)目個服務(wù)器。13.一種密鑰的序列化裝置,其特征在于,包括:
結(jié)構(gòu)體生成模塊,用于根據(jù)密鑰結(jié)構(gòu)體模型,生成密鑰結(jié)構(gòu)體,所述密鑰結(jié)構(gòu)體包括多個按照確定序號排列的成員變量;變量值生成模塊,用于利用隨機(jī)數(shù)發(fā)生器生成多個成員變量分別對應(yīng)的變量值;密鑰字段生成模塊,用于根據(jù)所述成員變量的變量類型,將與所述成員變量對應(yīng)的變量值進(jìn)行相應(yīng)類型的轉(zhuǎn)換,得到所述成員變量對應(yīng)的密鑰字段;變量字段生成模塊,用于對成員變量的字面值進(jìn)行脫敏處理,得到變量字段,其中所述成員變量的字面值用于表征成員變量的變量類型;混淆處理模塊,用于將任一變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)行混淆處理,得到一指定序號的鍵值對,其中鍵對應(yīng)該變量字段,值對應(yīng)該密鑰字段;生成模塊,用于按照指定序號將所有鍵值對排序后得到序列化后的密鑰。14.一種密鑰的反序列化裝置,其特征在于,包括:結(jié)構(gòu)體生成模塊,用于根據(jù)密鑰結(jié)構(gòu)體模型,生成初始密鑰結(jié)構(gòu)體;鍵值對生成模塊,用于獲取按照指定序號排序的所有鍵值對,其中鍵對應(yīng)一變量字段,值對應(yīng)一密鑰字段;反混淆模塊,用于根據(jù)鍵值對的指定序號對任一鍵值對進(jìn)行反混淆處理,得到按照確定序號排列的變量字段以及與該變量字段對應(yīng)的密鑰字段;反脫敏模塊,用于對所述變量字段進(jìn)行反脫敏處理,得到一成員變量的字面值;類型確定模塊,用于根據(jù)所述成員變量的字面值確定所述成員變量的變量類型;反轉(zhuǎn)換模塊,用于根據(jù)所述成員變量的變量類型,將對應(yīng)的密鑰字段進(jìn)行反轉(zhuǎn)換,得到成員變量對應(yīng)的變量值;密鑰生成模塊,用于根據(jù)所述成員變量對應(yīng)的變量值,以及所述初始密鑰結(jié)構(gòu)體,得到密鑰結(jié)構(gòu)體。15.一種計(jì)算機(jī)設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時實(shí)現(xiàn)權(quán)利要求1至12任一所述方法。16.一種計(jì)算機(jī)可讀存儲介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)權(quán)利要求1至12任一所述方法。17.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)權(quán)利要求1至12任一所述方法。

技術(shù)總結(jié)


本發(fā)明公開了一種密鑰的序列化方法、反序列化方法和裝置,其中序列化方法包括:根據(jù)密鑰結(jié)構(gòu)體模型,生成密鑰結(jié)構(gòu)體,密鑰結(jié)構(gòu)體包括多個按照確定序號排列的成員變量;利用隨機(jī)數(shù)發(fā)生器生成多個成員變量分別對應(yīng)的變量值;根據(jù)成員變量的變量類型,將與成員變量對應(yīng)的變量值進(jìn)行相應(yīng)類型的轉(zhuǎn)換,得到成員變量對應(yīng)的密鑰字段;對成員變量的字面值進(jìn)行脫敏處理,得到變量字段,其中成員變量的字面值用于表征成員變量的變量類型;將任一變量字段以及與該變量字段對應(yīng)的密鑰字段進(jìn)行混淆處理,得到一指定序號的鍵值對,其中鍵對應(yīng)該變量字段,值對應(yīng)該密鑰字段;按照指定序號將所有鍵值對排序后得到序列化后的密鑰。本發(fā)明可以提高密鑰的安全性。高密鑰的安全性。高密鑰的安全性。


技術(shù)研發(fā)人員:

王馨藝

受保護(hù)的技術(shù)使用者:

中國銀行股份有限公司

技術(shù)研發(fā)日:

2022.09.08

技術(shù)公布日:

2023/1/16


文章投稿或轉(zhuǎn)載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-1-79755-0.html

來源:專利查詢檢索下載-實(shí)用文體寫作網(wǎng)版權(quán)所有,轉(zhuǎn)載請保留出處。本站文章發(fā)布于 2023-01-26 14:04:22

發(fā)表評論

驗(yàn)證碼:
用戶名: 密碼: 匿名發(fā)表
評論列表 (有 條評論
2人圍觀
參與討論