>[0051]優選的,所述步驟S221中,如果沒有緩存無線數據采集終端證書,則在所述步驟S2221和所述步驟S2222之間增加以下流程:控制中心向無線數據采集終端發送控制中心證書;控制中心發送獲取無線數據采集終端證書的請求給無線數據采集終端。
[0052]優選的,在步驟S3中,所述控制中心對通過安全認證的且進入系統的無線數據采集終端的進行數據加密存儲和交換的具體過程由S31導入源數據,S32截取數據,S33進制轉換,S34字符轉碼,S35數據重組,S36字符串替代和S37數據缺失存貯等步驟組成完成,除了步驟S31和步驟S32外,其他的過程順序可以變更。
[0053]優選的,步驟S32中,在截取字符的函數中,需要三個元素,即待截取字符,截取的位數和截取的起始位置,源數據是待截取字符,而截取的長度是指定,截取的起始位置值是將用戶輸入的密碼,機器碼,或服務器端返回的數據拆分成幾個之后都加1,拆分的個數需要和計劃導入的源數據的組數相同。
[0054]以MID(text,start_num,num_chars)函數通過銀行卡密碼截取為例,其中text表示待截取字符也就是源數據,num_chars表示截取的位數,start_num即表示截取的起始位置,num_CharS可以指定,需要升級時,只需要將源數據位數改變,并重新指定num_chars值,例如將num_chars值由10位指定成20位,則截取的字符由10位變成20位,這就是擴充算法,而start_num值可以將銀行卡輸入密碼的6個數字進行分拆,將其拆分的值加1,作為start_num值截取字符即可,拆分方法比較多,示例MID (password, 1, 1),MID (password, 2, 1),MID (password, 3,1),MID (password, 4, 1),MID (password, 5, 1),MID (password, 6, 1),即將6位password值變成了 6位單獨的字符,例如,源數據的6組中第一組記為 textl,利用 MID (textl,MID (password, 1, 1) +1, 20),就可以以密碼 password的第一位數字加1的位置開始截取textl,截取20位,截取字符的目的是將簡單數據混雜在復雜數據中,例如,在銀行卡密碼的設計過程中,通過這一步,將密碼混雜在源數據中,引進6組源數據后,text值就是源數據,而start_num值就是MID (password, A, 1) +1值,A是密碼字符的位置,這樣,就可以獲得6組新數據,它們是截取了從第1位到第10位中的一個位數開始的num_CharS值長度的數據,例如,密碼拆分后的數據為6,就表示從第7位開始截取,num_chars值為20,就表示截取的位數為20,在一個簡單密碼000000和復雜密碼658973中,二者的意義分別表示前者是從6個源數據的第1位開始截取,而后者表示從6個源數據的第7位,第6位,第9位,第10位,第8位,第4位開始截取,與密碼的復雜程度無關,只要密碼輸入人員沒有將硬件提供給別人,并同時讓別人看到密碼輸入動作,單單從存貯的密碼進行破解時,二者的破解難度是沒有區別的,在這一步過程中,每一個源數據存在10個子數據,也就是密碼組合數增加了一百萬倍。
[0055]優選的,在步驟S33進制轉換中,如果有需要,可以將任何一種數據轉換成另一種進制的數據,在低進制數據轉換成高進制數據的過程中,由于高進制數據需要更多的基本元素表示,這里的基本元素就是類似10進制的0到9這10個數字,可以將比較簡單的數據變成復雜的數據,同時縮短了數據長度,比方說純數字數據變成數字和字母混合的數據,有時候,需要將復雜數據變成簡單數據或者將非數字數據轉換成數字數據。
[0056]比方說機器碼一般是數字和字母混合數據,而漢字是非數字數據,在GB2312標準中,可以直接引用漢字的區位碼,將其轉換成數字數據,或者將GB2312標準的文本理解成7445進制的數字(7445包含非漢字符號),據此將中文文檔進行加密或應用于數字證書,將中文文本理解成7445進制,轉換成10進制,其數據龐大得驚人,以5位數為例,轉換成10進制,位數達20位,最高值是2.2873E+19,再轉換成62進制數據,也就是轉換成數字和字母混合數據即可,加密不使用負數數據,因此,進位和10進制數據一樣,也是進制數的一次方,二次方,三次方等依次遞增,轉換后的數據位數達不到程序設計需要的位數時,用0補足高位數,例如轉換后的10進制數據為123,而需要的位數是5位,就在高位上加0為00123補足5位,大部分人接觸英文字母和數字比較多,示例是62進制和10進制轉換,用阿拉伯數字0到9表示0到9,字母的小寫a到z表示10到35,字母的大寫A到Z表示36到61,亦可以有其他的指定方案,后面部分講述的數字或字母的本位碼,轉碼算法也遵循同樣的規律,例如將 62 進制數據 A6bJ9 轉換成 10 進制數據為 36*624+6*623+11*622+45*62+9 = 533423147,是9位數。
[0057]優選的,在步驟S34中的字符轉碼是利用字符轉碼算法實現的,用一個字符或一組字符通過轉碼算法獲得另一個字符或一組字符的方法就是字符轉碼,無論是單個字符還是一組字符,轉碼都是一一轉碼,只是后者是同時轉換幾個字符,單一字符的轉碼意義是不大的,所以是字符組進行轉碼,字符組轉碼需要轉碼算法指令集和轉碼表共同實現。
[0058]示例是設計四種數字與字母的轉碼算法,命名為ABCD算法,轉碼算法遵循以下規律:
[0059]1:不同的源碼相同的算法轉換之后結果是不能相同的;
[0060]2:同一源碼的幾種算法的轉換結果互相也不能相同;
[0061]3:轉碼的結果不能與源碼相同;
[0062]4:轉碼要設置幾種轉碼算法,以強化密碼的組合復雜性,
[0063]示例是以數字和字母的本位碼為基礎條件進行轉換的,數字0到9的本位碼分別是數字0到9,小寫字母a到z的本位碼分別是數字10到35 ;大寫字母A到Z的本位碼分別是數字36到61。
[0064]在ABCD算法中,其中第1算法,第2算法,第3算法是以本位碼為基礎進行的數學運算,但是第4算法經過人工調整,沒有什么算法規律,
[0065]第1算法:數字或字母的本位碼加該本位碼后的第2位奇數就是此數字或字母的轉碼算法,結果多62的,就減62,記載其本位碼對應的數字或字母;
[0066]第2算法:數字或字母的本位碼加該本位碼后第13位奇數就是此數字或字母的B轉碼算法,結果多62的,就減62,記載其本位碼對應的數字或字母;
[0067]第3算法:數字或字母的本位碼加30就是該數字或字母的轉碼算法,結果多62的,就減62,記載其本位碼對應的數字或字母;
[0068]第4算法:第4算法部分遵循數字或字母的本位碼加該本位碼后的第3個偶數就是該數字或字母的轉碼算法,結果多62的,就減62,為了防止數據相同性沖突,做了部分位置調整,記載其本位碼對應的數字或字母,從它的設計原理可以知道,轉碼前后的每一個數字和字母都不會相同,這是一個最基本的設計要點,調用時,第1算法,第2算法,第3算法都可以直接使用數據表調用,也可以使用數學運算換算,但是,第4算法經過了人工調整,需要使用數據表調用,也可以設計其他的轉碼算法,示例的轉碼算法利用了同類字段進行算法的AB⑶排序。
[0069]轉碼算法指令集:待轉碼的每個字符作為源碼,需要指令轉碼...