本發(fā)明涉及通信領(lǐng)域,尤其涉及一種文本加密傳輸與保存字節(jié)流的方法。
背景技術(shù):
隨著移動通信技術(shù)的快速發(fā)展,移動網(wǎng)絡(luò)中的無線終端設(shè)備應(yīng)用日益廣泛,基于移動設(shè)備的各類應(yīng)用也飛速發(fā)展。隨著數(shù)據(jù)的網(wǎng)絡(luò)化處理的要求越來越高,通過手機(jī)、PDA等便攜型無線移動設(shè)備訪問互聯(lián)網(wǎng)絡(luò)的需求也日益增長。
但是,在享受互聯(lián)網(wǎng)絡(luò)所帶來的快速、便捷的同時,人們愈來愈意識到數(shù)據(jù)安全管理存在的漏洞。
目前,移動設(shè)備和服務(wù)器之間傳輸?shù)臄?shù)據(jù)都是采用XML格式進(jìn)行定義的,所有的業(yè)務(wù)數(shù)據(jù)都是以字符串形式存在,這些數(shù)據(jù)在公共網(wǎng)絡(luò)上傳播時安全性較差,很容易被黑客截取,從而影響用戶的利益。因此,涉密數(shù)據(jù)的保密工作亟待加強(qiáng)。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題在于,提供一種文本加密傳輸與保存字節(jié)流的方法,可達(dá)到兼容原文件傳輸與保存要求,并符合新加密保密、使用時解密的要求。
為了解決上述技術(shù)問題,本發(fā)明提供了一種文本加密傳輸與保存字節(jié)流的方法,包括:分別提取預(yù)設(shè)的密鑰及接收端IP;對密鑰及接收端IP進(jìn)行編碼處理,計算密碼;采用所述密碼對原數(shù)據(jù)所對應(yīng)的字節(jié)流進(jìn)行位運算處理;根據(jù)預(yù)定義的索引表,提取經(jīng)位運算處理后的字節(jié)流中每字節(jié)所對應(yīng)的加密字符,構(gòu)成密文。
作為上述方案的改進(jìn),采用MD5編碼算法對密鑰及接收端IP進(jìn)行編碼處理。
作為上述方案的改進(jìn),所述采用密碼對原數(shù)據(jù)所對應(yīng)的字節(jié)流進(jìn)行位運算處理的方法包括:采用所述密碼對原數(shù)據(jù)所對應(yīng)的字節(jié)流進(jìn)行循環(huán)異或運算;把經(jīng)循環(huán)異或運算后字節(jié)流中每三個8位的字節(jié)轉(zhuǎn)換成四個6位的字節(jié);向每個6位的字節(jié)添加2位的字節(jié),組成8位的字節(jié)。
作為上述方案的改進(jìn),所述向每個6位的字節(jié)添加2位的字節(jié)的方法包括:在每個6位的字節(jié)的前面添加2位的字節(jié)。
作為上述方案的改進(jìn),添加于所述6位的字節(jié)前面的2位的字節(jié)的賦值為“0”。
作為上述方案的改進(jìn), 根據(jù)BASE64算法對預(yù)設(shè)的轉(zhuǎn)換表進(jìn)行索引隨機(jī)打亂,組成預(yù)定義的索引表。
作為上述方案的改進(jìn),所述文本加密傳輸與保存字節(jié)流的方法還包括:在密文中每76個字節(jié)的后面添加一個換行符;在密文中結(jié)束符的后面添加一個換行符。
實施本發(fā)明,具有如下有益效果:
本發(fā)明文本加密傳輸與保存字節(jié)流的方法,一方面參照BASE64算法對轉(zhuǎn)換表進(jìn)行索引隨機(jī)打亂,組成預(yù)定義的索引表,以供傳輸兩端進(jìn)行加密、解密使用;另一方面支持自定義密鑰,使用密鑰時先用密鑰與接收端IP進(jìn)行MD5編碼,并與字節(jié)流進(jìn)行對應(yīng)的位運算擾亂轉(zhuǎn)碼,達(dá)到兼容原文件傳輸與保存要求,并符合新加密保密、使用時解密的要求。
附圖說明
圖1是本發(fā)明文本加密傳輸與保存字節(jié)流的方法的第一實施例流程圖;
圖2是本發(fā)明文本加密傳輸與保存字節(jié)流的方法的第二實施例流程圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn)一步地詳細(xì)描述。僅此聲明,本發(fā)明在文中出現(xiàn)或即將出現(xiàn)的上、下、左、右、前、后、內(nèi)、外等方位用詞,僅以本發(fā)明的附圖為基準(zhǔn),其并不是對本發(fā)明的具體限定。
參見圖1,圖1顯示了本發(fā)明文本加密傳輸與保存字節(jié)流的方法的第一實施例,包括:
S101、分別提取預(yù)設(shè)的密鑰及接收端IP。
需要說明的是,所述預(yù)設(shè)的密鑰為自定義密鑰。
S102、對密鑰及接收端IP進(jìn)行編碼處理,計算密碼。
具體地,采用MD5編碼算法對密鑰及接收端IP進(jìn)行編碼處理。
S103、采用所述密碼對原數(shù)據(jù)所對應(yīng)的字節(jié)流進(jìn)行位運算處理。
需要說明的是,采用所述密碼對原數(shù)據(jù)所對應(yīng)的字節(jié)流進(jìn)行位運算擾亂處理,可實現(xiàn)對原數(shù)據(jù)的有效加密。
S104、根據(jù)預(yù)定義的索引表,提取經(jīng)位運算處理后的字節(jié)流中每字節(jié)所對應(yīng)的加密字符,構(gòu)成密文。
根據(jù)BASE64算法對預(yù)設(shè)的轉(zhuǎn)換表進(jìn)行索引隨機(jī)打亂,組成預(yù)定義的索引表,以供傳輸兩端進(jìn)行加密、解密使用。
因此,本發(fā)明通過獨特的加密方式實現(xiàn)對文本的加密保護(hù),操作簡單,保密效果佳,符合新加密保密,使用時解密的要求。
參見圖2,圖2顯示了本發(fā)明文本加密傳輸與保存字節(jié)流的方法的第二實施例,包括:
S201、分別提取預(yù)設(shè)的密鑰及接收端IP。
需要說明的是,所述預(yù)設(shè)的密鑰為自定義密鑰。
S202、對密鑰及接收端IP進(jìn)行編碼處理,計算密碼。
具體地,采用MD5編碼算法對密鑰及接收端IP進(jìn)行編碼處理。
S203、采用所述密碼對原數(shù)據(jù)所對應(yīng)的字節(jié)流進(jìn)行循環(huán)異或運算。
S204、把經(jīng)循環(huán)異或運算后字節(jié)流中每三個8位的字節(jié)轉(zhuǎn)換成四個6位的字節(jié)。
擾亂處理過程中,可把經(jīng)循環(huán)異或運算后字節(jié)流中每三個字節(jié)轉(zhuǎn)換成四個字節(jié),即把每三個8位的字節(jié)轉(zhuǎn)換成四個6位的字節(jié),保持字節(jié)位數(shù)不變。
S205、向每個6位的字節(jié)添加2位的字節(jié),組成8位的字節(jié)。
進(jìn)一步,所述向每個6位的字節(jié)添加2位的字節(jié)的方法包括:在每個6位的字節(jié)的前面添加2位的字節(jié)。具體地,添加于所述6位的字節(jié)前面的2位的字節(jié)的賦值為“0”。
需要說明的是,經(jīng)過步驟S204及S205的處理后,三個8位的字節(jié)先轉(zhuǎn)換為四個6位的字節(jié),再轉(zhuǎn)換為四個8位的字節(jié),轉(zhuǎn)換過程簡單,實現(xiàn)了字節(jié)的有效變化,進(jìn)一步加強(qiáng)保密效果。
S206、根據(jù)預(yù)定義的索引表,提取經(jīng)位運算處理后的字節(jié)流中每字節(jié)所對應(yīng)的加密字符,構(gòu)成密文。
根據(jù)BASE64算法對預(yù)設(shè)的轉(zhuǎn)換表進(jìn)行索引隨機(jī)打亂,組成預(yù)定義的索引表,以供傳輸兩端進(jìn)行加密、解密使用。
S207、在密文中每76個字節(jié)的后面添加一個換行符。
S208、在密文中結(jié)束符的后面添加一個換行符。
由上可知,本發(fā)明文本加密傳輸與保存字節(jié)流的方法,一方面參照BASE64算法對轉(zhuǎn)換表進(jìn)行索引隨機(jī)打亂,組成預(yù)定義的索引表,以供傳輸兩端進(jìn)行加密、解密使用。另一方面支持自定義密鑰,使用密鑰時先用密鑰與接收端IP進(jìn)行MD5編碼,并與字節(jié)流進(jìn)行對應(yīng)的位運算擾亂轉(zhuǎn)碼,達(dá)到兼容原文件傳輸與保存要求,并符合新加密保密、使用時解密的要求。
下面結(jié)合具體的實施例對本發(fā)明作進(jìn)一步地詳細(xì)描述。
A1、分別提取預(yù)設(shè)的密鑰“123”及接收端IP“192.168.1.1”。
A2、對密鑰“123”及接收端IP“192.168.1.1”進(jìn)行MD5編碼處理,計算密碼。
A 3、采用所述密碼對原數(shù)據(jù)“中文”所對應(yīng)的字節(jié)流“11010110 11010000 11001110 11000100”進(jìn)行循環(huán)異或運算。
A 4、把經(jīng)循環(huán)異或運算后字節(jié)流“01111100 00001100 10011010 11111110”中每三個8位的字節(jié)轉(zhuǎn)換成四個6位的字節(jié)。
A 5、向每個6位的字節(jié)添加2位的字節(jié),組成8位的字節(jié)“00011111 00000000 00110010 00011010 00111111 00100000 01000000 01000000”。
A 6、根據(jù)預(yù)定義的索引表“KLMNOPQRSTUVWXArstuvwxyz01BCDEFGHIJYZabcdefghijklmnopq23456789+/=”,提取經(jīng)位運算處理后的字節(jié)流中每字節(jié)所對應(yīng)的加密字符,構(gòu)成密文“GKnB/H==”。
A 7、在密文中每76個字節(jié)的后面添加一個換行符,得到“GKnB/H==”。
A 8、在密文中結(jié)束符的后面添加一個換行符,得到“GKnB/H==(換行符)”。
以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也視為本發(fā)明的保護(hù)范圍。