亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android的文件加密系統(tǒng)的設(shè)計與實現(xiàn)

        2013-12-31 00:00:00周巧扣倪紅軍
        計算機光盤軟件與應(yīng)用 2013年16期

        摘 要:隨著智能手機的普及,越來越多的人將私人信息保存在手機中,因而手機中的信息安全越發(fā)受到人們的關(guān)注。本文首先分析了當前智能手機信息安全面臨的問題,介紹了保證信息安全常用的方法,接著闡述了Android系統(tǒng)的結(jié)構(gòu)及各個組成部分,進一步討論了常用的幾種加密算法。在此基礎(chǔ)上,采用eclipse集成環(huán)境、Java程序設(shè)計語言,設(shè)計并實現(xiàn)了一個基于Android平臺的文件加密系統(tǒng),系統(tǒng)總體分為三個模塊:文件瀏覽模塊、文件加密模塊以及文件解密模塊,在加密模塊中提供了多種加密算法對文件進行加密,在解密模塊中簡化了用戶操作,提高了方便性。最后通過實際的應(yīng)用開發(fā)驗證了系統(tǒng)的可行性和安全性。

        關(guān)鍵詞:Android;文件加密系統(tǒng);加密算法;Java

        中圖分類號:TN929.53

        當前,手機已經(jīng)進入了智能化的時代,人們對手機的使用已經(jīng)從基本的通話功能到利用手機進行移動辦公、移動電子商務(wù)、移動支付、手機娛樂等,顯然,手機已經(jīng)成為了部分代替電腦的一個智能化的個人移動信息終端。隨著手機與人們的生活日益密切,許多人將一些私人信息存放在手機的SD卡中,比如,重要的聯(lián)系人信息,手機拍攝的一些私人照片等,然而手機一旦丟失,則會導(dǎo)致大量的私人信息被泄露。同時,人們使用手機上網(wǎng),下載應(yīng)用程序時,也會收到病毒、木馬的攻擊導(dǎo)致信息的安全性受到威脅[1,2]。為了保證數(shù)據(jù)文件的保密性和完整性,人們提出了多種加密算法,利用加密算法開發(fā)加密系統(tǒng)實現(xiàn)對數(shù)據(jù)文件的保護[3,4],然而,針對Android平臺的文件加密系統(tǒng)的研究并不多見。

        本文基于Android平臺設(shè)計了一個文件加密系統(tǒng),提供多種經(jīng)典的加密算法如DES、DESede以及AES等算法,供用戶選擇使用,文件加密時可以針對不同的文件類型選擇不同的加密算法,解密時無需記住加密的算法,增強了文件的保密性和簡化了用戶操作。

        1 Android平臺

        Android是谷歌(Google)發(fā)布的一個開放源代碼的手機平臺,由Linux內(nèi)核、中間件、應(yīng)用程序框架和應(yīng)用軟件四個部分組成[5]。(1)Linux內(nèi)核,提供由操作系統(tǒng)內(nèi)核管理的底層基礎(chǔ)功能;(2)中間件,由函數(shù)庫和Anroid運行時構(gòu)成;(3)應(yīng)用程序框架,提供Anroid平臺基本的管理功能和組件重要機制;(4)應(yīng)用軟件,提供了一些核心的應(yīng)用程序。開發(fā)人員可以使用Android提供的類庫開發(fā)自己的應(yīng)用程序。

        2 相關(guān)加密算法

        根據(jù)密鑰類型的不同,加密算法一般分為兩類:對稱加密算法和非對稱加密算法[6]。在對稱加密算法中,數(shù)據(jù)加密和解密采用的都是同一個密鑰,優(yōu)點是加密和解密速度快,加密強度高,但其安全性依賴所持密鑰的安全性[7],常見的算法有DES、3DES、AES等。非對稱加密算法使用兩把不同但又完全匹配的一對鑰匙,公鑰和私鑰,使用公鑰加密但使用私鑰解密,常見的算法有RSA、DSA等。

        文中所設(shè)計的加密系統(tǒng)采用對稱加密算法DES,DESede(3DES)和AES算法。(1)DES算法,DES算法是使用最廣泛的加密算法,使用一個56為的密鑰以及附加的8位奇偶校驗位,分組后的明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方法;(2)DESede算法,DESede是由DES對稱加密算法改進后的一種對稱加密算法,它使用3條56位的密鑰對數(shù)據(jù)進行三次加密,比DES更加安全。(3)AES算法,AES算法是DES算法的替代方案,它的加密數(shù)據(jù)塊分組長度必須為128比特,密鑰長度的最少支持為128、192、256位。

        3 文件加密系統(tǒng)的設(shè)計

        3.1 系統(tǒng)的框架

        系統(tǒng)總框架分為三大模塊:SD卡瀏覽模塊、文件加密模塊以及文件解密模塊,如圖1所示。運行系統(tǒng)時,首先進入SD卡瀏覽模塊,使用ListView控件顯示SD卡根目錄中的文件及文件夾,如果是已加密文件則在列表項的右側(cè)顯示一個鎖的圖標如圖2所示,點擊已經(jīng)加密文件,則轉(zhuǎn)到解密模塊,點擊未加密的文件,則轉(zhuǎn)到加密模塊。點擊文件夾,則進入該文件夾中,同樣在ListView控件中顯示該文件夾中的文件及文件夾。

        3.2 文件瀏覽模塊

        文件瀏覽模塊將SD卡根目錄中的文件和文件夾顯示到ListView控件中,如果是文件則需要判斷該文件是否為已加密文件,如果是則需要顯示一個鎖的圖標。如何判斷一個文件是否是已加密文件,文中采取的方法是給文件加密時,在文件的頭部寫一個固定長度的加密標志,如大寫字母“E”,當文件瀏覽模塊掃描到文件時,讀取文件頭部,如果包含加密標志,則為已加密文件,需要顯示一個鎖的標志。加密文件的結(jié)構(gòu)見下文3.3節(jié)。

        顯示圖標的具體做法是,首先采用自定義函數(shù)isDirectory()判斷文件對象為文件還是文件夾,分別顯示不同的圖標,如果是文件,則進行一步采用自定的函數(shù)isEnfile()判斷文件是否是加密文件,核心代碼如下所示:

        if (files[i].isDirectory()){

        listItem.put(\"icon\", R.drawable.folder);

        } else {

        listItem.put(\"icon\", R.drawable.file);

        if(isEnfile(files[i]))

        listItem.put(\"suo\", R.drawable.suo);

        }

        3.3 加密模塊

        加密模塊的運行界面如圖3所示,可以在DES,DESede和AES三種加密算法中任選一種加密算法,然后在密碼框中和確認密碼框中,輸入兩次密碼,點擊“文件加密”按鈕完成對所選文件的加密。這里需要解決兩個問題,第一個問題,不同的加密算法中的密鑰長度是不一樣的,需要根據(jù)用戶輸入的密碼,針對不同的加密算法生成不同長度的密鑰。文中采用的方法是首先使用switch語句判斷用戶選擇的加密算法,然后根據(jù)不同的加密算法創(chuàng)建不同長度的字節(jié)數(shù)組,然后采用while循環(huán)將用戶所輸入的密碼循環(huán)填入所創(chuàng)建的字節(jié)數(shù)組,最后采用SecretKeySpec()函數(shù)根據(jù)字節(jié)數(shù)組和加密算法的名稱產(chǎn)生加密密鑰,產(chǎn)生密鑰的函數(shù)getKey()的核心代碼如下所示:

        public static Key getKey(byte[] arrBTmp, String alg){

        ……

        byte[] arrB;

        switch(alg){

        case \"DES\":

        arrB = new byte[8];

        break;

        case \"DESede\":

        arrB = new byte[24];

        break;

        default:

        arrB = new byte[16];

        break;

        }

        int i=0, j=0;

        while(i < arrB.length){

        if(j>arrBTmp.length-1){

        j=0;

        }

        arrB[i] = arrBTmp[j];

        i++;

        j++;

        }

        Key key = new javax.crypto.spec.SecretKeySpec(arrB, alg);

        return key;

        }

        第二個需要解決的問題是,加密時選擇某種加密算法,而解密時不需要提供加密時的算法,這需要在加密時記住加密算法,本文的解決方法是,將DES,DESede和AES三種加密算法分別用1、2和3這三個數(shù)字表示,在加密文件時,將算法對應(yīng)的數(shù)字寫入到密文的頭部,加密文件的格式如圖4所示,其中文件頭部的加密標志用來瀏覽文件時判別是否為已加密文件,加密標志長度固定用字母“E”標志已經(jīng)加密,文件內(nèi)容為密文。

        得到密鑰后,首先創(chuàng)建一個新的文件,文件名與原文件相同但后綴名為.lock,接著將密文的文件頭寫入文件,然后從原文件讀出二進制流,加密后寫入加密文件。加密時需要使用加密算法的名稱創(chuàng)建Cipher類的對象[8],并通過加密模式和密鑰初始化該對象,最后調(diào)用該對象的doFinal()函數(shù)對讀取的文件內(nèi)容進行加密。

        3.4 解密模塊

        當在瀏覽界面中點擊某一已加密文件時,轉(zhuǎn)到解密模塊,首先讀取加密文件頭部中的算法標志,得到加密時的加密算法,然后獲取用戶在解密界面中輸入的密碼,最后調(diào)用產(chǎn)生密鑰的自定義函數(shù)getKey()獲取密鑰(與加密時調(diào)用getKey()函數(shù)相同),只要用戶輸入的密碼與加密時相同,則得到相同的密鑰解密密文,解密時同樣需要創(chuàng)建Cipher類的對象,只不過初始化的模式為:DECRYPT_MODE,最終將解密得到的文件內(nèi)容寫入新的文件中。解密模塊的核心代碼如下:

        String r=1;

        Key key = getKey(strKey.getBytes(),alg);

        Cipher c;

        c = Cipher.getInstance(alg);

        c.init(Cipher.DECRYPT_MODE,key);

        byte[] clearByte=c.doFinal(code);

        r=new String(clearByte);

        4 結(jié)束語

        文中詳細分析了幾種不同的文件加密算法,并基于Android平臺,采用Eclipse集成開發(fā)環(huán)境,Java程序設(shè)計語言,設(shè)計并實現(xiàn)了一個文件加密系統(tǒng),詳細介紹了文件加密系統(tǒng)各個組成部分的設(shè)計與實現(xiàn),系統(tǒng)可以使用不同的加密算法對文件進行加密,且解密時無需記住加密時采用的加密算法,通過實際的項目驗證了系統(tǒng)的可行性和安全性。隨著智能手機的普及,手機文件加密系統(tǒng)的應(yīng)用前景將更加廣泛。

        參考文獻:

        [1]王偉,張之棟,雷雨詩.基于策略的Android應(yīng)用檢測系統(tǒng)[J].信息網(wǎng)略安全,2013(02):30-34.

        [2]李國,篙培培.基于Android平臺的入侵檢測系統(tǒng)的研究與實現(xiàn)[J].信息網(wǎng)略安全,2013(02):27-29.

        [3]梅凱珍,李永忠.基于過濾驅(qū)動的局域網(wǎng)透明文件安全加密方法[J].計算機技術(shù)與發(fā)展,2012,22(4):238-241.

        [4]唐曉東,付松齡,何連躍.基于eCryptfs的多用戶加密文件系統(tǒng)設(shè)計與實現(xiàn)[J].計算機應(yīng)用,2010,30(5):1236-1238.

        [5]韓超,梁泉.Android系統(tǒng)原理及開發(fā)要點詳解[M].北京:電子工業(yè)出版社,2010.

        [6]吳強.加密與解密[M].北京:企業(yè)管理出版社,2009.

        [7]胡宏銀,何成萬.支持多種安全級別的文件加密工具設(shè)計[J].計算機工程與設(shè)計,2011,32(8):2569-2591.

        [8]Ed Burnette著,田俊靜,張波等譯.Android基礎(chǔ)教程[M].北京:人民郵電出版社,2010.

        日韩极品免费在线观看| 亚洲精品无码成人片久久不卡| 久久精品国产99久久无毒不卡| 成人免费看www网址入口| 综合网在线视频| 人妻人妻少妇在线系列| 久久老熟女乱色一区二区| 人妻在线有码中文字幕| av无码小缝喷白浆在线观看| 久久九九久精品国产| 免费人成黄页在线观看视频国产| 人妻少妇av中文字幕乱码免费| 一本之道日本熟妇人妻| 日韩 亚洲 制服 欧美 综合| 亚洲性啪啪无码av天堂| 国产精品白浆一区二区免费看| 亚洲一级天堂作爱av| av无码精品一区二区三区| 国产99视频精品免视看9| 亚洲专区一区二区在线观看| 日本女u久久精品视频| 国产又黄又硬又粗| 国精产品一品二品国在线| 亚洲人成网站www| 国产成人亚洲综合二区| 亚洲熟妇无码久久精品| 国产成人亚洲精品无码h在线| 无码a级毛片免费视频内谢| 亚洲综合视频一区二区 | 免费视频爱爱太爽了| 9999毛片免费看| 久久久99精品国产片| 亚洲国产成人精品无码区在线播放| 野花在线无码视频在线播放| 国产精彩刺激对白视频| 日韩精品一区二区三区人妻在线| 亚洲精品成人av在线| 亚洲一区二区综合色精品| 亚洲综合av一区在线| 77777_亚洲午夜久久多人| 日本夜爽爽一区二区三区|