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