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

        ?

        基于Android的私密短信系統(tǒng)設(shè)計與實現(xiàn)

        2012-08-15 02:03:10劉安戰(zhàn)賈曉輝
        關(guān)鍵詞:密信接收器密文

        劉安戰(zhàn),賈曉輝

        (中原工學(xué)院,河南 鄭州 450007)

        2007年 11月Google公司推出 Android[1]智能手機平臺,接著推出的面向Android應(yīng)用開發(fā)的 SDK[2]為開發(fā)者開發(fā)Android平臺上各種應(yīng)用提供了方便。隨著時間的推移,各種應(yīng)用層出不窮,目前國內(nèi)已經(jīng)出現(xiàn)了很多匯集Android應(yīng)用的網(wǎng)站,如AppChina應(yīng)用匯和安智市場等。

        Android 有活動(Activity)、服務(wù)(Service)、廣播 接 收 器(Broadcast Receiver)和內(nèi)容提供 者 (Content Provider)4大組件[3]。

        活動主要用來進(jìn)行應(yīng)用界面的開發(fā),一個活動往往占據(jù)當(dāng)前的窗口,對于開發(fā)者而言,就需要派生一個Activity的子類。服務(wù)有點像后臺程序,通常都是后臺長時間運行,接受上層調(diào)用指令,完成相關(guān)功能。廣播接收器用來接收一種或若干種意圖(Intent)的觸發(fā)事件,當(dāng)事件發(fā)生時,系統(tǒng)會傳遞消息給廣播接收器,進(jìn)而由廣播接收器進(jìn)行進(jìn)一步處理。廣播接收器一般用來監(jiān)聽一些事件,如:監(jiān)聽來電、郵件和短信等。內(nèi)容提供者是Android提供的第三方應(yīng)用數(shù)據(jù)的訪問方案。每個Content Provider都用一個URI作為獨立的標(biāo)識,如:content://sms/inbox表示短信收件箱。Content Provider在屏蔽了內(nèi)部數(shù)據(jù)的存儲細(xì)節(jié)基礎(chǔ)上向外提供了統(tǒng)一的接口,這樣大大簡化了上層應(yīng)用的訪問。

        除了 4大組件外,Android還提供了意圖 (Intent)機制,它能在程序運行的過程中連接2個不同的組件。活動、服務(wù)和廣播接收器都是通過意圖機制激活的,意圖在組件之間傳遞數(shù)據(jù)。

        1 Android短信庫

        1.1 短信息表結(jié)構(gòu)

        Android系統(tǒng)中采用的SQLite[4]嵌入式數(shù)據(jù)庫,其短息庫為mmssms.db,在adb shell中可以通過sqlite3 mmssms.db連接該數(shù)據(jù)庫。通過.tables命令可以發(fā)現(xiàn)mmssms.db共有13個表,其中的sms表是用來存儲所有短息數(shù)據(jù)的,通過.schema sms命令查看表sms的表結(jié)構(gòu),其表結(jié)構(gòu)如表1所示。

        1.2 短信庫的訪問

        系統(tǒng)數(shù)據(jù)庫的訪問需要授權(quán),在編寫程序時需要在AndroidManifest.xml文件中添加權(quán)限使用說明。如:<usespermission android:name="android.permission.READ_SMS"/>表示可以讀短信,若是要使得應(yīng)用可以發(fā)送短信則還需要加入<uses-permission android:name="android.permission.SEND_SMS"/>。

        表1 短信息表結(jié)構(gòu)

        Android通過內(nèi)容提供者向應(yīng)用提供訪問底層數(shù)據(jù)庫,應(yīng)用程序可以通過一個URL訪問對應(yīng)的數(shù)據(jù),如:content://sms/inbox表示 短信 收 件箱 , 而 content://sms/outbox表示短信發(fā)件箱。

        數(shù)據(jù)表的訪問在Android采用游標(biāo)方式,通過Activity類的manageQuery方法獲得一個數(shù)據(jù)集游標(biāo),managedQuery方法的聲明為:public finalCursor managedQuery(Uri uri,String[]projection,String selection,String[]selectionArgs, String sortOrder)。

        2 系統(tǒng)設(shè)計

        2.1 系統(tǒng)功能

        私密短信系統(tǒng)的功能主要包括:(1)建立短信,加密短信,發(fā)送短信;(2)私密短信列表;(3)查收私密短信,解密查看;(4)聯(lián)系人選擇;(5)私密短信會話。

        2.2 私密短信收發(fā)過程

        私密短信系統(tǒng)通過在應(yīng)用層加密/解密短信數(shù)據(jù)達(dá)到點對點的密碼通信。發(fā)送短信方通過輸入明文短信、加密短信及發(fā)送密文短信實現(xiàn)發(fā)送短信功能;接收短信方通過查詢短信庫和解密短信來閱讀短信,考慮到短信傳輸過程中的編碼問題,還要進(jìn)行編碼轉(zhuǎn)換工作。具體的收發(fā)短信流程如圖1所示。

        圖1 私密短信收發(fā)流程

        (1)輸入明文:輸入與發(fā)送的短信明文內(nèi)容。

        (2)輸入密碼:輸入加密使用的密碼。

        (3)加密:根據(jù)輸入明文和密碼進(jìn)行加密產(chǎn)生密文,通過javax.crypto中Cipher類提供的功能對密文采用用DES[5]加密。

        (4)編碼轉(zhuǎn)換:加密后的密文以字節(jié)碼的形式存在,在發(fā)送短信前需要進(jìn)行進(jìn)一步的編碼,將其轉(zhuǎn)換成Base64編碼格式以便能夠正常發(fā)送短信。

        (5)發(fā)送短信:通過調(diào)用 Android提供的API來實現(xiàn)發(fā)送短信,在系統(tǒng)中 SmsManager類提供的sendTextMessage方法可以實現(xiàn)發(fā)送短信功能。

        (6)接收短信:通過訪問系統(tǒng)短信庫中的信息查看接收的短信,檢索可以查看所有私密短信。

        (7)編碼逆轉(zhuǎn)換:編碼轉(zhuǎn)換的逆過程。

        (8)解密:加密逆過程。

        2.3 關(guān)鍵問題

        (1)菜單的實現(xiàn)

        Android系統(tǒng)支持選項菜單、子菜單和快捷菜單3種菜單。系統(tǒng)采用選項菜單,實現(xiàn)選項菜單需要重載Activity的 onCreateOptionsMenu(Menu nenu)方 法,通過Menu的add方法添加菜單項,對于菜單的響應(yīng)則是通過重載onOptionsItemSelected(MenuItem item)方法實現(xiàn)。

        (2)加密轉(zhuǎn)碼

        加密采用的是Cipher類實現(xiàn)的,其中的getInstance方法可以獲得相應(yīng)的實例,通過init方法初始化加密模式和密碼,通過doFinal方法進(jìn)行加密并返回加密后的字節(jié)數(shù)組。

        加密后的字節(jié)數(shù)組并不能直接用于短信內(nèi)容發(fā)送,因此還要進(jìn)行進(jìn)一步的轉(zhuǎn)碼。系統(tǒng)將加密后的字節(jié)數(shù)組密文轉(zhuǎn)換成Base64編碼組成的字符串后作為短信內(nèi)容進(jìn)行傳輸。

        (3)密信標(biāo)志

        加密轉(zhuǎn)碼后的短信和普通短信一樣借助于移動網(wǎng)絡(luò)傳輸,接收方收到的就是一個短信,只不過短信內(nèi)容是沒有意義的密而已。系統(tǒng)為了區(qū)分加密短信和未加密的短信,在發(fā)送私密短信時在密信內(nèi)容中加入了供系統(tǒng)識別的密信標(biāo)志。通過密信標(biāo)志,接收方可以過濾接收的所有密信。

        (4)短信發(fā)送

        在Android系統(tǒng)中,SmsManager類提供sendTextMessage方法發(fā)送短信,具體代碼為:smsManager.sendTextMessage(mobile,null,text,null,null)。 其中,mobile 為目標(biāo)手機號碼,text為發(fā)送的短信內(nèi)容。對于長度較小的短信系統(tǒng)采用直接發(fā)送的方式實現(xiàn),對于長度超過70 B的短信,系統(tǒng)通過分割成多個短信的方式進(jìn)行發(fā)送,以便用戶能夠接收到完整的短信內(nèi)容。

        3 系統(tǒng)測試

        系統(tǒng)測試采用的摩托羅拉XT502機型,圖2為系統(tǒng)主界面,默認(rèn)列出系統(tǒng)收到的所有密信,可以通過相應(yīng)的菜單執(zhí)行相應(yīng)的功能。

        發(fā)送密信菜單可以打開加密和解密界面,如圖3所示。圖中顯示的是明文為“你好”,密碼為“123”的加密和解密界面。

        圖2 系統(tǒng)主界面

        圖3 加密、解密界面

        隨著3G手機不斷普及,用戶可以越來越多地定制自己的應(yīng)用,信息安全傳輸?shù)闹匾愿遣豢珊鲆?。私密短信系統(tǒng)為用戶提供點對點的私密通信,信息在網(wǎng)絡(luò)的傳輸過程中采用的密碼形式,即使信息被攔擊或被通信公司泄露,解密也會大大地提高成本,從而提高用戶傳輸信息的安全性。下一步的研究開發(fā)將側(cè)重于私密通話研究,防止電話竊聽。

        [1]http://www.android.com/,2012-03-01.

        [2]http://developer.android.com/sdk/index.html,2012-03-01.

        [3]楊豐盛.Android應(yīng)用開發(fā)揭秘[M].北京:機械工業(yè)出版社,2010.

        [4]http://www.sqlite.org,2012-03-01.

        [5]顧超.動態(tài) DES算法.計算機應(yīng)用與軟件[J].2007,7:164-166.

        猜你喜歡
        密信接收器密文
        一封密信
        一種針對格基后量子密碼的能量側(cè)信道分析框架
        一種支持動態(tài)更新的可排名密文搜索方案
        基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯恢復(fù)
        兩封密信
        情報大作戰(zhàn)
        教你寫密信
        小讀者(2020年1期)2020-11-26 04:24:15
        JXG-50S型相敏軌道電路接收器自動測試臺
        埃及
        ZPW-2000A軌道電路接收器冗余電路存在問題分析及對策
        少妇无码av无码专区线| 亚洲精品一区二区高清| 欧洲美熟女乱又伦av影片| 亚洲日韩成人av无码网站| 亚洲熟妇色xxxxx欧美老妇 | 国产精品无码日韩欧| 宅宅午夜无码一区二区三区| 亚洲av日韩综合一区尤物| 中文字幕人成乱码熟女| 全免费a级毛片| 亚洲片在线视频| 人妻中文字幕一区二区视频| 日韩人妻ol丝袜av一二区| 亚洲一区二区观看播放| 在线无码免费看黄网站| 久久精品一区二区三区蜜桃| 曰韩亚洲av人人夜夜澡人人爽| 五月婷一本到五月天| 亚洲精品在线观看一区二区| 中文字幕亚洲熟女av| 国产青草视频在线观看| 亚洲日产无码中文字幕| 亚洲av日韩精品一区二区| 日韩夜夜高潮夜夜爽无码 | 日本丰满妇人成熟免费中文字幕| 日本一曲二曲三曲在线| 欧美性生交大片免费看app麻豆| 无码粉嫩虎白一线天在线观看 | 日本最新在线一区二区| 洲色熟女图激情另类图区| 中文字幕一区二区三区乱码| 亚洲精品中文字幕不卡在线| 国产少妇高潮在线视频| 国产成人午夜无码电影在线观看| 免费人成又黄又爽的视频在线| 国产内射视频在线观看| 日韩精品人妻久久久一二三| 青青久在线视频免费观看| 久久久国产精品ⅤA麻豆百度| 亚洲精品偷拍自综合网| 性色av无码中文av有码vr|