摘 要:現(xiàn)階段,國內(nèi)智能手機(jī)大都采用安卓操作系統(tǒng),而該系統(tǒng)的開發(fā)語言以Java語言為基礎(chǔ)。文章論述了Java語言的基本含義,分析了安卓手機(jī)軟件的基本架構(gòu),并以手機(jī)加密軟件為例,探討了以Java語言為基礎(chǔ)的安卓手機(jī)軟件開發(fā)流程,以供相關(guān)人員參考。
關(guān)鍵詞:Java語言;安卓操作系統(tǒng);智能手機(jī);軟件開發(fā);DES加密算法
進(jìn)入二十一世紀(jì)以來,互聯(lián)網(wǎng)技術(shù)、信息化技術(shù)以及移動通信技術(shù)快速發(fā)展和應(yīng)用,促使社會大眾的生活節(jié)奏不斷加快。而智能手機(jī)的產(chǎn)生與發(fā)展,為社會大眾快速獲取信息資源帶來極大的便利,目前已經(jīng)廣泛應(yīng)用在大眾生活的各個(gè)行業(yè)領(lǐng)域。國內(nèi)絕大部分智能手機(jī)采用的是基于Java語言的安卓操作系統(tǒng),所以很有必要對Java語言為基礎(chǔ)的安卓手機(jī)軟件開發(fā)進(jìn)行深入研究。
1.Java開發(fā)語言的內(nèi)涵和實(shí)質(zhì)
Java語言屬于一種設(shè)計(jì)類語言類型,其以網(wǎng)絡(luò)程序?yàn)榛A(chǔ),應(yīng)用效果非常良好,并且應(yīng)用范圍十分廣泛。因此,在網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì)過程中,Java語言受到絕大多數(shù)程序設(shè)計(jì)人員的青睞。通常情況下,在程序設(shè)計(jì)過程中,Java語言以應(yīng)用程序的內(nèi)部編程語言為主要對象?;贘ava語言的程序設(shè)計(jì)目的,是為了滿足不同軟件間以及不同應(yīng)用程序間的具體需要,以促進(jìn)軟件應(yīng)用內(nèi)部利用效率的有效提升。
在解釋與編譯后,Java語言會呈現(xiàn)出兩個(gè)不同的過程,并可通過翻譯,轉(zhuǎn)變?yōu)橄到y(tǒng)設(shè)計(jì)所需的各種形式的源代碼,同時(shí)還能達(dá)到虛擬機(jī)作用轉(zhuǎn)化的目的,可在其他電子設(shè)備識別程序中使用[1]?Java虛擬機(jī)屬于一種基于想象的操作設(shè)備,利用計(jì)算機(jī)進(jìn)行軟件模擬。對Java語言的源程序進(jìn)行翻譯,能夠獲得對應(yīng)的字節(jié)碼,程序設(shè)計(jì)人員不但能夠解釋和翻譯這類字節(jié)碼,將其作為接收器中的機(jī)器碼,還能通過虛擬機(jī)識別,在具體編程中使用。
2.安卓手機(jī)軟件的架構(gòu)
2.1應(yīng)用程序
智能手機(jī)各個(gè)軟件功能的實(shí)現(xiàn)離不開相關(guān)應(yīng)用程序的補(bǔ)充和支持,而智能手機(jī)各個(gè)硬件功能的實(shí)現(xiàn)需要通過相應(yīng)的應(yīng)用程序體現(xiàn)出來。安卓手機(jī)軟件發(fā)布過程中,同時(shí)會攜帶一系列的核心應(yīng)用程序,這些應(yīng)用程序主要涵蓋了短消息程序、日歷程序以及瀏覽器程序等。從當(dāng)前情況來看,在智能手機(jī)軟件編寫設(shè)計(jì)過程中,Java語言是最為優(yōu)秀的工具,該語言強(qiáng)大的交互性為智能手機(jī)軟件功能的實(shí)現(xiàn)提供了基本支持。
2.2應(yīng)用程序的框架
智能手機(jī)出廠時(shí),其應(yīng)用軟件都有一定的框架。各個(gè)品牌各個(gè)型號的智能手機(jī)都擁有自身的基本框架,應(yīng)用程序開發(fā)人員會在該框架的基礎(chǔ)上,進(jìn)行應(yīng)用程序編寫工作。在此過程中,應(yīng)用程序編寫工具都采用Java。而Java語言自身就擁有一定的框架技術(shù),這大大增強(qiáng)了通過框架技術(shù)進(jìn)行應(yīng)用程序編寫的可行性。
2.3程序庫、運(yùn)行庫
程序庫與運(yùn)行庫均屬于智能手機(jī)中的固化程序,在智能手機(jī)出廠的過程中,開發(fā)商就將程序庫與運(yùn)行庫固化在了手機(jī)內(nèi)核中。設(shè)計(jì)人員按照用戶實(shí)際需求,對在程序庫與運(yùn)行庫進(jìn)行固化,為智能手機(jī)用戶提供了極大便利,再加上良好的應(yīng)用功能,智能手機(jī)因而得到廣大用戶群體的認(rèn)可與歡迎。
3.基于Java語言設(shè)計(jì)手機(jī)短信加密軟件實(shí)證分析
3.1基于Java語言的DES加密算法
DES算法作為一種基于Java語言的數(shù)據(jù)加密標(biāo)準(zhǔn),其通過循環(huán)和迭代的方式,把相對簡單運(yùn)算轉(zhuǎn)變成非線性變換,從而達(dá)到加密和保護(hù)數(shù)據(jù)的目的。
DES算法主要是對56位密鑰與64位二進(jìn)制信息進(jìn)行加密,以生成64位密文信息。其具體流程如下:第一點(diǎn),對IP進(jìn)行初始置換,并根據(jù)特定邏輯順序?qū)⒚魑捻樞虼騺y。第二點(diǎn),進(jìn)行乘積交換,持續(xù)迭代16輪。第三點(diǎn),對IP進(jìn)行逆初始置換,根據(jù)固定表順序打亂,從而獲得64位信息,也就是加密信息,最終完成明文信息加密[2]。
在密匙位數(shù)與迭代數(shù)的一并影響下,DES加密算法通常會存在一定缺陷。所以,對于字符信息相對較少的短信,可采用3DES的方法來進(jìn)行加密處理,從而增強(qiáng)信息的加密性。
3.2安卓信息處理機(jī)制
第一點(diǎn),安卓系統(tǒng)信息處理通常先要用戶發(fā)信息到收件箱,然后對收件箱enqueue Message函數(shù)進(jìn)行調(diào)用,以接收信息的隊(duì)列為基準(zhǔn),把信息置入到收件箱內(nèi)。
第二點(diǎn),按照由前到后的順序,利用Loop將信息從收件箱內(nèi)取出。之后利用使用者的dispatch Message函數(shù),加工處理該信息。在此過程中,對該信息的處理工作由使用者負(fù)責(zé)。
第三點(diǎn),完成信息處理后,使用者可利用recycle函數(shù),將處理后的信息再次置入收件箱,為信息儲存與使用提供便利。
從整個(gè)流程來看,是在開放環(huán)境中進(jìn)行的信息處理,加密處理難度非常大,無法充分保證信息的安全性。因此,在Java語言環(huán)境中,基于信息加密方面存在的問題,合理編寫安卓手機(jī)信息加密軟件,能夠有效保證信息安全。
3.33DES加密與解密要點(diǎn)
設(shè)K表示DES算法,Ek()表示DES算法的加密過程,Dk()表示DES算法的解密過程,使用的密鑰P表示明文,C表示密表。
由此可知3DES加密公式為:C=Ek3(Dk2(Ek1(P)))
3DES解密公式為:P=Dk1((EK2(Dk3(C)
在具體設(shè)計(jì)過程中,與其他平臺對接進(jìn)行對比分析得知,同樣的加密結(jié)果,實(shí)現(xiàn)過程卻存在一定差異,因此,對于此類狀況,應(yīng)認(rèn)真檢查JDK文件。
而如果編寫算法沒有問題,而加密結(jié)果存在差異,那么綜合考慮所選代碼,可以發(fā)展造成加密結(jié)果不同的原因就在于MODE與padding方面。因此,程序開發(fā)人員在利用Java語言進(jìn)行編碼時(shí),所用MODE與padding必須相同,如此方可確保正常通信。
3.4以Java語言為基礎(chǔ)的安卓手機(jī)加密軟件開發(fā)的實(shí)現(xiàn)
軟件開發(fā)人員在通過DES加密算法來開發(fā)信息加密軟件時(shí),應(yīng)對虛擬手機(jī)平臺進(jìn)行靈活操作,預(yù)先編寫軟件加密與解密程序,并模擬加密程序與解密程序的運(yùn)行效果,以促使加密軟件運(yùn)行速度的提升。
第一步,軟件開發(fā)人員應(yīng)將所用手機(jī)與計(jì)算機(jī)有效連接,在計(jì)算機(jī)中利用安卓虛擬平臺來編寫加密程序和解密程序,以便于更加順利地實(shí)現(xiàn)手機(jī)軟件信息的加密。
第二步,軟件開發(fā)人員開啟手機(jī)短信程序,進(jìn)入短信的收發(fā)界面中,仔細(xì)觀察和分析短信收發(fā)情況。
第三步,運(yùn)行手機(jī)中的J2ME MIDlet程序,在加密軟件的消息界面編寫加密信息,在完成編寫后,選擇軟件聯(lián)系人,結(jié)束整個(gè)信息編寫過程。
第四步,打開所用手機(jī)的接收界面,編輯接收到的之前編寫的信息,進(jìn)而完成軟件信息的解密操作過程。
結(jié)語
總之,基于Java語言的安卓操作系統(tǒng)具有非常強(qiáng)的開放性,目前已經(jīng)被大多數(shù)智能手機(jī)品牌所采用。在以Java語言為基礎(chǔ)進(jìn)行安卓手機(jī)軟件開發(fā)的過程中,軟件開發(fā)人員應(yīng)深刻認(rèn)知Java語言的涵義,充分把握安卓手機(jī)軟件的架構(gòu)特點(diǎn),熟練掌握基于Java語言的DES加密算法與安卓信息處理機(jī)制,有效運(yùn)用3DES加密與解密技術(shù),高效、順利地開發(fā)安卓手機(jī)軟件。
參考文獻(xiàn):
[1]李???基于Java語言的安卓手機(jī)軟件開發(fā)研究[J].山西農(nóng)經(jīng),2017(11):130-130.
[2]沈佳寧.基于Java語言的安卓手機(jī)軟件開發(fā)分析[J].無線互聯(lián)科技,2017(6):34-35.
作者簡介:
徐官學(xué)(1967-),男,漢族,湖北省建始縣人,恩施職業(yè)技術(shù)學(xué)院信息工程學(xué)院,副教授。研究方向:計(jì)算機(jī)應(yīng)用.