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