国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Java語言設(shè)計的加密和解密算法系統(tǒng)

2014-04-29 12:32:47巢喜劍
西江月·上旬 2014年4期
關(guān)鍵詞:網(wǎng)絡(luò)安全

巢喜劍

【摘 要】目前,計算機技術(shù)及網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,以及網(wǎng)絡(luò)帶來的便利性,促使人們對網(wǎng)絡(luò)的應(yīng)用越來越廣泛,在辦公、娛樂等各個方面對網(wǎng)絡(luò)都有不同程度的依賴,在應(yīng)用的同時,既涉及到數(shù)據(jù)的安全,又關(guān)系到網(wǎng)絡(luò)傳輸速度兩方面問題。基于安全考慮必須對所要傳輸?shù)臄?shù)據(jù)進行加密,國際上通用的公開算法有DES算法、RSA算法等,但這些算法實現(xiàn)起來有相當(dāng)?shù)膹?fù)雜性,特別RSA算法運算速度較慢,不適合一般辦公娛樂的需要。本文介紹了一種相對簡單有效的數(shù)據(jù)加密解密方法,本程序中的加密解密算法系統(tǒng)具有簡單的Base64加密解密功能。

【關(guān)鍵詞】網(wǎng)絡(luò)安全;DES算法和RSA算法;Base64加密解密

一、設(shè)計項目分析

1.1 需求分析。該項目沒有使用到數(shù)據(jù)庫,算法相對簡單,在深入研究Base64編碼原理和方案后,我們發(fā)現(xiàn)完全可以不采用標(biāo)準(zhǔn)固定編碼表,而采用自定義的編碼表,這樣我們可以將屬于自己的編碼表當(dāng)作密鑰的方法,來實現(xiàn)文件的編碼,這樣編碼后的文件能夠很好地在網(wǎng)絡(luò)上傳輸,同時,只有知道密鑰的解碼器,才能正確解碼出文件的真實內(nèi)容,達到了保密的作用,從而在一定程度上使得文件在網(wǎng)絡(luò)上傳輸方便快捷、安全可靠。

1.2 實現(xiàn)目標(biāo)。1、設(shè)計加密算法(可以簡單或復(fù)雜),對輸入明文加密,同時將密文對比顯示出來。2、設(shè)計解密算法,將密文利用解密算法還原為明文,同時將原始明文、密文和解密后明文對比顯示。

二、系統(tǒng)設(shè)計

2.1 模型分析。Base64編碼的解碼過程是加密過程逆向過程,采用標(biāo)準(zhǔn)編碼表Base64編碼的方法使得經(jīng)過Base64編碼的文件能被所有采用標(biāo)準(zhǔn)編碼表的Base64解碼器解碼,恢復(fù)文件的本來內(nèi)容。具體的解密過程如下:a.將得到的Base64編碼流轉(zhuǎn)化為二進制數(shù)據(jù)流;b.取出Base64 編碼流的一個字符;c.將這字符通過取編碼表值,轉(zhuǎn)化成6位二進制數(shù)據(jù)流;d.重復(fù)b步驟,直到所有的Base64編碼流被取空;e.返回解碼的二進制數(shù)據(jù)流。不難看出采用標(biāo)準(zhǔn)編碼表Base64編碼的方法使得經(jīng)過Base64編碼的文件能被所有采用標(biāo)準(zhǔn)編碼表的Base64解碼器解碼,恢復(fù)文件的本來內(nèi)容,這樣編碼后的文件雖然可以在網(wǎng)絡(luò)上傳輸,但不具備網(wǎng)絡(luò)信息安全保密性能。

主要算法程序:

import org.apache.commons.codec.binary.Base64;

public abstract class Base64Coder {

/**

* 字符編碼

*/

public final static String ENCODING = "UTF-8";

/**

* Base64編碼

*

* @param data 待編碼數(shù)據(jù)

* @return String 編碼數(shù)據(jù)

* @throws Exception

*/

public static String encode(String data) throws Exception {

// 執(zhí)行編碼

byte[ ] b = Base64.encodeBase64(data.getBytes(ENCODING));

return new String(b, ENCODING);

}

/**

* Base64解碼

*

* @param data 待解碼數(shù)據(jù)

* @return String 解碼數(shù)據(jù)

* @throws Exception

*/

public static String decode(String data) throws Exception {

// 執(zhí)行解碼

byte[] b = Base64.decodeBase64(data.getBytes(ENCODING));

return new String(b, ENCODING);

}

}

2.2 流程分析。1、運行Java程序Base64Coder.java和Base64CoderTest.java進入加密解密界面。2、然后在框中輸入明文信息,點encode對明文進行加密。3、點擊decode對密文進行解密,明文密文對比顯示在界面上。4、點擊clear時,清除框中的明文和密文。

三、基于Java設(shè)計的加密和解密算法系統(tǒng)分析

通過對程序需求的分析,對其功能進行分析。首先,該程序采用C/S架構(gòu),由加密和解密算法組成。

為實現(xiàn)服務(wù)器的功能,需要建立以下兩個類:

1、算法主框架類:Base64Coder.java。算法類主要提供了具體算法。采用Base64編碼是數(shù)據(jù)庫加密的常用方式, 在數(shù)據(jù)庫內(nèi)能把二進制的數(shù)據(jù)編碼或者解碼成base64文本, 就可以用存儲過程從e-mail和HTTP服務(wù)器認證發(fā)送數(shù)據(jù)并解碼。在使用Base64處理中文的多語言時, 需要注意中文編碼的問題。如常用的中文編碼有GBK、GB2312和Unicode等。在處理Base64編碼時, 必須統(tǒng)一使用中文編碼。

2、編碼與解碼測試類:Base64CoderTest.java。包含界面顯示,編碼解碼實現(xiàn),完成加密解密功能。Base64編碼要求把3個8位字節(jié)轉(zhuǎn)化為4個6位的字節(jié),在6位的前面補兩個0,形成8位一個字節(jié)的形式。把8位的字節(jié)連成一串, 然后每次順序選6個出來,再把這6個二進制數(shù)前面再添加兩個0,就成了一個新的字節(jié)。之后再選出6個來, 再添加0,依此類推, 直到二進制數(shù)全部被選完。Base64有其自身的編碼表,如表1所示。Base64編碼方式并不是單純利用轉(zhuǎn)化完的內(nèi)容進行編碼。像‘\字符是控制字符, 并不能通過計算機顯示出來, 在某些場合就不能使用了。Base64編碼的結(jié)果不是根據(jù)算法把編碼變?yōu)楦邇晌皇?而低6位代表數(shù)據(jù),而是變?yōu)楸?的形式,如”A”就有7位, 而”a”就只有6位。編碼的編號對應(yīng)的是得出的新字節(jié)的十進制值。

3、為實現(xiàn)加密解密的功能,需要加一個界面窗口:提供了人機交互界面,方便對比顯示。

四、結(jié)束語

本文首先實現(xiàn)了加密解密算法的功能,應(yīng)用自定義編碼表的Base64編碼,無需更改編碼及解碼程序,只需簡單的自定義編碼表即可,因此,實現(xiàn)容易,在一定程度上提高了算法的安全性。程序可以有效地實現(xiàn)Base64編碼的加密與解密,比較清晰的顯示了整個Base64編碼加密與解密的過程,通俗易懂。程序在Windows XP下調(diào)試通過。

【參考文獻】

[1]史士英,李作緯.RSA快速算法的優(yōu)化研究[A].第九屆中國青年信息與管理學(xué)者大會論文集[C].2007.

[2]王瑩,何大軍.AES加密算法的改進與實現(xiàn)[J].電腦編程技巧與維護,2010(17).

[3]張維振.基于兩種加密算法的加密解密系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學(xué),2010.

猜你喜歡
網(wǎng)絡(luò)安全
網(wǎng)絡(luò)安全知多少?
工會博覽(2023年27期)2023-10-24 11:51:28
新形勢下的特種設(shè)備網(wǎng)絡(luò)安全防護探討
新量子通信線路保障網(wǎng)絡(luò)安全
網(wǎng)絡(luò)安全
網(wǎng)絡(luò)安全人才培養(yǎng)應(yīng)“實戰(zhàn)化”
上網(wǎng)時如何注意網(wǎng)絡(luò)安全?
網(wǎng)絡(luò)安全與執(zhí)法專業(yè)人才培養(yǎng)探索與思考
設(shè)立網(wǎng)絡(luò)安全專項基金 促進人才培養(yǎng)
網(wǎng)絡(luò)安全監(jiān)測數(shù)據(jù)分析——2015年12月
網(wǎng)絡(luò)安全監(jiān)測數(shù)據(jù)分析——2015年11月
东阿县| 图们市| 四平市| 远安县| 彰武县| 三穗县| 沧州市| 子长县| 泗洪县| 吴旗县| 长治市| 庐江县| 阳新县| 同德县| 香港| 永顺县| 博野县| 台安县| 绥棱县| 朔州市| 麟游县| 远安县| 太仆寺旗| 藁城市| 张家界市| 饶阳县| 兴仁县| 桐柏县| 康乐县| 资溪县| 平安县| 辽源市| 亳州市| 常德市| 中西区| 镇沅| 鸡西市| 淮安市| 交口县| 隆化县| 江孜县|