周玉巖+陳曉+顏驍
摘要:隨著電子商務(wù)的發(fā)展,快遞單號(hào)信息泄露的問(wèn)題受到眾多關(guān)注。針對(duì)這個(gè)問(wèn)題,該文利用二維碼存儲(chǔ)量豐富的特點(diǎn),把以往的明文信息經(jīng)過(guò)ECC加密算法對(duì)不同運(yùn)輸管理角色進(jìn)行分段加密,使得每個(gè)部門(mén)分開(kāi)獨(dú)立獲取信息,避免一個(gè)人可以獲取過(guò)多信息的問(wèn)題。在發(fā)送上,通過(guò)手機(jī)端設(shè)置預(yù)發(fā)送短信信息,在掃描二維碼時(shí)獲取用戶(hù)信息,最后將兩者結(jié)合拼湊出完整的發(fā)送信息。用戶(hù)通過(guò)二維碼與面單上的二維碼進(jìn)行匹配驗(yàn)證認(rèn)領(lǐng)貨物,達(dá)到安全防護(hù)的目的;通過(guò)時(shí)效性檢驗(yàn)手段,減少快遞單號(hào)倒賣(mài)情況的發(fā)生;利用自我設(shè)計(jì)的加密規(guī)則進(jìn)一步減少信息泄露。
關(guān)鍵詞:信息泄露;二維碼;短信;加密
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)08-0282-03
1 引言
隨著國(guó)內(nèi)電子商務(wù)突飛猛進(jìn)的發(fā)展和電商模式的日益完善,網(wǎng)絡(luò)購(gòu)物逐漸成為廣大消費(fèi)者的重要購(gòu)物方式,從而使得快遞行業(yè)順其自然地得到了蓬勃發(fā)展。但是與此同時(shí),網(wǎng)絡(luò)購(gòu)物者們也面對(duì)著快遞單號(hào)信息被大面積泄露,甚至衍生出多個(gè)專(zhuān)門(mén)交易快遞單號(hào)信息的網(wǎng)站等諸多信息安全問(wèn)題。
在實(shí)際生活中,快遞公司擁有的用戶(hù)信息包括收貨和發(fā)貨雙方的姓名、地址、手機(jī)號(hào)碼以及快遞物品。這些信息存在于兩種形式,一是保存在快遞公司的服務(wù)器中,一種是快遞單。這兩種形式的用戶(hù)信息都容易被泄露,從而被大量應(yīng)用到網(wǎng)上商店制造假信譽(yù)和假包裹等欺詐違法的行為當(dāng)中。
本文主要是針對(duì)信息的發(fā)送和封裝進(jìn)行處理,防止快遞人員泄露信息,以及廣大用戶(hù)對(duì)自己收到快遞后,對(duì)面單的不正常處理導(dǎo)致的信息泄露問(wèn)題進(jìn)行處理。
2 軟件需求分析和系統(tǒng)設(shè)計(jì)
針對(duì)當(dāng)前物流人員需要發(fā)送大量信息的現(xiàn)狀,“基于二維碼的物流小助手”對(duì)不同聯(lián)系人建立分組,并且支持短信搜索操作,幫助物流工作人員盡快找到自己需要的信息。在群組模塊可以建立緊急事務(wù)組,把緊急事務(wù)添加到其中,達(dá)到時(shí)刻提醒自己的目的。為了進(jìn)一步優(yōu)化軟件的人機(jī)體驗(yàn)效果,本軟件支持手勢(shì)識(shí)別,根據(jù)用戶(hù)的不同手勢(shì)進(jìn)行不同的操作。在業(yè)務(wù)上,針對(duì)二維碼存儲(chǔ)量豐富的特點(diǎn),對(duì)業(yè)務(wù)信息進(jìn)行分段封裝,從而達(dá)到保護(hù)用戶(hù)信息的目的。用戶(hù)可以通過(guò)設(shè)置模塊設(shè)置屬于自己的專(zhuān)屬個(gè)性主題,尤其是短信設(shè)置模塊,可以更好的幫助物流工作者加快完成派送任務(wù)。
系統(tǒng)主要分為消息、二維碼(QR)、分組和設(shè)置四個(gè)模塊。具體功能設(shè)計(jì)如圖1所示:
項(xiàng)目整體功能圖描述的是整個(gè)項(xiàng)目的運(yùn)作方式,以及本款軟件在物流運(yùn)輸這個(gè)行業(yè)中所起到的作用。具體業(yè)務(wù)如圖2所示:
(1) 消息模塊。進(jìn)入軟件首先是消息界面,通過(guò)消息界面可進(jìn)行消息的選擇,選擇查看全部消息、收件箱、發(fā)件箱、草稿箱,也可以選擇進(jìn)行消息創(chuàng)建和消息搜索。
(2) 二維碼(QR)模塊。該模塊主要分為二維碼和條形碼掃描。當(dāng)設(shè)置界面沒(méi)有進(jìn)行設(shè)置的時(shí)候,執(zhí)行條形碼掃描功能,會(huì)自動(dòng)跳轉(zhuǎn)到消息發(fā)送界面,進(jìn)行發(fā)送消息輸入操作,當(dāng)輸入完畢時(shí)即可發(fā)送消息。
(3) 分組模塊。可以針對(duì)派送員手機(jī)中數(shù)量眾多的短信進(jìn)行分類(lèi)處理。將家人、朋友等親友短信分別建立群組,分別收藏管理,從而達(dá)到便于查找,高效工作生活的目的。
(4) 設(shè)置模塊。對(duì)該模塊進(jìn)行設(shè)置之后,掃描貨物二維碼,消息會(huì)自動(dòng)獲取預(yù)先設(shè)置的消息內(nèi)容與貨物訂單信息進(jìn)行整合并且自動(dòng)發(fā)消息。另外,隨著智能手機(jī)的發(fā)展,軟件變得越來(lái)越豐富多彩,人機(jī)交互UI也變得更加人性化。更多的主題、字體供用戶(hù)選擇,為此用戶(hù)的手機(jī)也彰顯得更加個(gè)性化,更加適應(yīng)用戶(hù)的操作。針對(duì)這個(gè)特點(diǎn),單獨(dú)把手機(jī)軟件設(shè)置作為一個(gè)模塊,目的就是為了讓用戶(hù)更加熟練地使用軟件,也愛(ài)上這款軟件,張揚(yáng)自我個(gè)性。
3 系統(tǒng)軟件編程
SQLite是一款輕型的數(shù)據(jù)庫(kù),是遵守ACID(原子性、一致性、隔離性、持久性)的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),多用于嵌入式開(kāi)發(fā)中。
針對(duì)Android短信,系統(tǒng)一般做一個(gè)限制,規(guī)定Android手機(jī)只能存儲(chǔ)一定量的短信?!盎诙S碼的物流小助手”所使用的短信數(shù)據(jù)庫(kù)表做如下解析:
短信應(yīng)用開(kāi)發(fā)本身屬于系統(tǒng)源碼級(jí)別開(kāi)發(fā),Google并沒(méi)有給予API支持,因此開(kāi)發(fā)者們需要去查看Google提供的源碼。清單文件中的manifest標(biāo)簽的package屬性指出了android短信數(shù)據(jù)庫(kù)所在的位置。Application的子標(biāo)簽provider指出了短信、彩信、短信和彩信三種方式的查詢(xún)數(shù)據(jù)方式。
根據(jù)清單文件中provider的提示找到短信的provider,可以發(fā)現(xiàn)SmsProvider繼承了ContentProvider。當(dāng)應(yīng)用程序里面的類(lèi)有繼承實(shí)現(xiàn)ContentProvider這個(gè)抽象類(lèi),并重寫(xiě)該類(lèi)用于向外界提供的增、刪、改、查四種方法時(shí),該類(lèi)就可以向外界提供統(tǒng)一的數(shù)據(jù)共享方式,這樣做便于簡(jiǎn)化編程,降低程序的耦合度。
針對(duì)某一條短信進(jìn)行查詢(xún)需要設(shè)定短信的id,Google提供了兩種方式:通過(guò)Uri類(lèi)的withAppendedPath(baseUri, pathSegment方法在路徑上添加id;通過(guò)ContentUris類(lèi)的withAppendedId(uri, id)方法為路徑上添加一個(gè)id,拼湊出完整的查詢(xún)路徑。此外ContentUris類(lèi)還提供parseId(uri)方法,用于獲取uri的id。
另外,Google提供了ContentObserver類(lèi),用于實(shí)時(shí)監(jiān)聽(tīng)Android數(shù)據(jù)庫(kù)的內(nèi)容變化。軟件實(shí)時(shí)性響應(yīng)要求數(shù)據(jù)庫(kù)底層一旦發(fā)生變化就要通知用戶(hù)界面更新。針對(duì)這個(gè)問(wèn)題可以通過(guò)使用getContentResolver().notifyChange(uri, null)方法來(lái)通知注冊(cè)在此Uri的上ContentProvider;還可以通過(guò)Cursor對(duì)象本身setNotificationUri(getContext().getContentResolver(), uri)通知頂層界面進(jìn)行布局的重新加載。
此外,Android不允許在UI界面直接訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)或者訪(fǎng)問(wèn)網(wǎng)絡(luò),否則就會(huì)產(chǎn)生ANR異常。針對(duì)這個(gè)問(wèn)題只需要另外開(kāi)啟一個(gè)線(xiàn)程即可。在java中可以使用thread類(lèi)來(lái)實(shí)現(xiàn),在Android中同理也可以實(shí)現(xiàn),但是UI界面只能在UI線(xiàn)程或者主線(xiàn)程中更新,這就需要handler機(jī)制來(lái)解決問(wèn)題或者使用runOnUiThread(action)實(shí)現(xiàn)。
在本系統(tǒng)中,短信查詢(xún)需要涉及數(shù)據(jù)庫(kù)查詢(xún)以及UI界面操作,針對(duì)這個(gè)問(wèn)題和因短信數(shù)據(jù)查詢(xún)量過(guò)大導(dǎo)致ANR異常問(wèn)題。本系統(tǒng)采用QueryHandler類(lèi)的startQuery方法進(jìn)行異步查詢(xún),此方法在查詢(xún)結(jié)束時(shí)會(huì)調(diào)用onQueryComplete方法,在本應(yīng)用中,短信數(shù)據(jù)庫(kù)回話(huà)查詢(xún)就采用這種方式。
4 軟件功能的實(shí)現(xiàn)
短信功能,短信功能模塊是針對(duì)當(dāng)前琳瑯滿(mǎn)目的短信軟件進(jìn)行優(yōu)化整合而得到的模塊。該模塊一改以往短信只是顯示短信回話(huà)的單一,點(diǎn)擊右上角的箭頭可選擇收件箱、已發(fā)送信箱以及草稿信息等不同功能。在此基礎(chǔ)上添加通知類(lèi)消息的功能,針對(duì)10086等通知類(lèi)短信進(jìn)行歸類(lèi)分檔,這樣做可以使用戶(hù)更快地找到自己所需的短信。添加搜索模塊,通過(guò)短信搜索功能可以更加高效的查找自己所需要的短信,在新建短信時(shí),通過(guò)輸入部分電話(huà)號(hào)碼或者用戶(hù)名可以幫助快速定位到查找的用戶(hù)。設(shè)置批量化刪除的功能,可以完成大量短信刪除的繁瑣任務(wù),并且在此模塊進(jìn)行了友好的提示,防止用戶(hù)誤刪除重要信息。
二維碼查詢(xún)功能,進(jìn)入二維碼查詢(xún)模塊,把手機(jī)攝像頭對(duì)準(zhǔn)制作好的特定二維碼,進(jìn)行拍攝,拍攝成功將在界面展示二維碼,并有震動(dòng)和蜂鳴提示。
群組功能,該功能主要是進(jìn)一步實(shí)現(xiàn)短信的管理。針對(duì)短信多,不舍得刪除寶貴短信的用戶(hù)來(lái)說(shuō)尤為重要,通過(guò)群組設(shè)置,把不同的人群劃分到不同的群組當(dāng)中去,便于以后快捷查找,同時(shí)也可以使用群組功能臨時(shí)存放一些特殊的用戶(hù)信息。
設(shè)置功能,在設(shè)置界面設(shè)置預(yù)置短信,手機(jī)將自動(dòng)進(jìn)行發(fā)送短信功能,很好的節(jié)省了記錄信息以及撥打發(fā)送短信的時(shí)間。同時(shí)用戶(hù)可以根據(jù)自我審美觀調(diào)整整個(gè)軟件,讓用戶(hù)更加適應(yīng)軟件的使用。
5 結(jié)論
在物流行業(yè)迅速發(fā)展的今天,信息安全變得越來(lái)越重要。針對(duì)快遞信息泄露的問(wèn)題,本文對(duì)信息的發(fā)送和封裝進(jìn)行處理,通過(guò)ECC加密算法對(duì)明文信息進(jìn)行分段加密,使每個(gè)部門(mén)只能獲取所需要的部分信息;然后通過(guò)手機(jī)端設(shè)置預(yù)發(fā)送短信信息,在掃描二維碼時(shí)獲取用戶(hù)信息;最后將兩者結(jié)合拼湊出完整的發(fā)送信息。“基于二維碼的物流小助手”的實(shí)現(xiàn)可以幫助廣大用戶(hù)更好地保護(hù)自己的個(gè)人信息;幫助物流工作者更加便捷的更新快遞信息,更好的組織短信消息,節(jié)省大量的時(shí)間;幫助廣大使用者減少因快遞信息泄露而帶來(lái)的財(cái)產(chǎn)損失等問(wèn)題。
參考文獻(xiàn):
[1] 李剛.瘋狂Android講義(第2版)[M].北京:電子工業(yè)出版社,2013.
[2] 林學(xué)森.深入理解Android內(nèi)核設(shè)計(jì)思想[M].北京:人民郵電出版社,2014.
[3] 邁耶.Android 4 高級(jí)編程(第3版)[M].北京:清華大學(xué)出版社,2013.
[4] 羅升陽(yáng).Android系統(tǒng)源代碼情景分析[M].北京:電子工業(yè)出版社,2012.
[5] 吳亞峰,于復(fù)興,杜化美.Android應(yīng)用案例開(kāi)發(fā)大全[M].北京:人民郵電出版社,2013.
[6] 楊文志.Google Android程序設(shè)計(jì)指南[M].北京:電子工業(yè)出版社,2009.