錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
Android數據存儲安全實踐

作者: 佚名  日期:2018-10-09 18:59:53   來源: 本站整理

 Android操作系統自問世以來憑借其開放性和易用性成為當前智能手機的主流操作系統之一,作為與人們關系最密切的智能設備,越來越多的通訊錄、短信、視頻等隱私數據以明文的方式保存在手機中,這些數據雖然有鎖屏密碼或者指紋保護,但是由于Android系統自身的安全性,專業人士可以毫不費力的獲取到手機數據鏡像,個人隱私面臨泄露風險。另一方面,日益繁榮的移動互聯網應用也是基于用戶數據和應用程序構成,如何保護這些用戶數據安全性是應用發展的基石。隨著人們對數據安全重視,如何更好地保護用戶數據成為移動應用開發者的一大挑戰。
本文以Android開發實踐出發,由淺入深討論Android數據的存儲、加密等實現方法供移動開發進行參考。并結合自身經驗探討對Android數據安全的一些思考。
0×01常用數據存儲方法及實例 
文件 
存儲數據最直接的方法就是以文件的形式保存在手機中,Android開發主要基于Java語言,因此,在文件讀寫等基本操作相同,文件操作和數據流來源于java.IO.*,但是對于Android而言,開發者需要注意一下幾點:
1、文件目錄 Android權限管理中各個應用程序有獨立的存儲空間,存儲結構如下:

2、常見文件目錄及路徑
/data/data/(packageName)/cache目錄 應用緩存文件,目錄獲取方法:File cache = getCacheDir()
/data/data/(packageName)/files目錄,即應用一般文件,目錄獲取方法:File file = getFilesDir()
/data/data/(packageName)/shared_prefs目錄,存放應用SharedPreference文件目錄位置
/data/data/(packageName)/databases目錄,應用數據庫目錄(SQLite)
/storage/emulated/0/sdcard內置sd卡目錄,獲取方法:String sdcard = getInnerSDCardPath()
/storage/extSdCard外置sd卡目錄,獲取方法:String exsdcard = Environment.getExternalStorageDirectory().getPath()
在Android手機中,獲取默認sd卡目錄方法明確,但是由于Android手機本身不一定支持外置sd卡,或者有/沒有插入外置sd卡,因此在獲取外sd卡時需要留心有坑,一是避免異常,二是分清內置和外置。
關鍵:位置。通過文件保存用戶或者應用數據時,首先要遵循Android開發的規則,在應用目錄中根據文件的類型選擇保存的外置。在sd卡中存放時,避免直接保存在根目錄下,這樣做是避免造成用戶手機文件管理的混亂;二是避免文件被修改、刪除等。
數據庫
Android 數據庫采用SQLite,SQLite 是一款內置到移動設備上的輕量型的數據庫,是遵守ACID(原子性、一致性、隔離性、持久性)的關聯式數據庫管理系統。Android開發中可以通過SQLiteOpenHelper或者自定義類SQLiteOpenHelper來實現數據存儲查詢修改的功能。此外SQLite數據庫支持加密操作,通過sqlite3.exe或者SQLiteConnection均可對數據庫進行加密操作。SQLiteEncrypt、SQLiteCrypt、SQLCipher等工具提供對數據庫的加密操作,但是前兩個需要收費,SQLCipher是開源工具,GitHub地址為: SQLCipher;通過SQLiteConnection類加密方法如下:
SQLiteConnection conn = new SQLiteConnection("Data Source=TestDatabase.sqlite;Version=3;"); conn.SetPassword("password"); conn.open();
SharedPreferences存儲
SharedPreferences存儲方式是Android中存儲輕量級數據的一種方式,內部以Map方式進行存儲,保存的數據以xml格式存放在本地的/data/data/(packagename)/shared_prefs文件夾下。SharedPreferencevalue支持Java的基本操作類型,如Boolean、Int,Float等,文件輕量級數據要求保存數據value大小不能太大,數據太大會給系統GC、內存帶來壓力,甚至造成Activity程序卡頓。
SharedPreferences pref = getSharedPreferences("test", MODE_PRIVATE); SharedPreferences.Editor editor=pref.edit(); SharedPreferences.Editor editor=pref.edit();editor.putString("name", "root");//保存字符串 editor.putInt("age", 12);//保存整型數據 editor.commit(); //putXXX 方法中第一個參數是key,第二參數為value
SharedPreferences pref = getSharedPreferences(“setting”, 0);
pref.getInt("key_name", -1); // getting Integer pref.getFloat("key_name", null); // getting Float pref.getLong("key_name", null); // getting Long //getXXX方法第一個參數表示key名稱,第二個表示value默認值
0×02 Android加密算法及實現
DES,對稱加密,同理有3DES,3DES在DES的基礎上進行3重加密,以犧牲效率來提高加密安全性。
//DES加密[] encrypt([] data,String key){
     {
         [] bkey = key.getBytes();
         // 初始化向量IvParameterSpec iv = IvParameterSpec(bkey);
         DESKeySpec desKey = DESKeySpec(bkey);
         // 創建密匙工廠,把DESKeySpec轉換成securekey
         SecretKeyFactory keyFactory = SecretKeyFactory.getInstance();
         SecretKey securekey = keyFactory.generateSecret(desKey);
         Cipher cipher = Cipher.getInstance();
         // 用密匙初始化Cipher對象cipher.init(Cipher., securekey, iv);
         // 現在,獲取數據并加密



熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    主站蜘蛛池模板: 亚洲av无码乱码在线观看野外| 一本加勒比HEZYO无码人妻| 亚洲精品无码乱码成人| 精品无码三级在线观看视频| 中文无码制服丝袜人妻av| 免费A级毛片无码无遮挡内射 | 色综合久久久无码中文字幕波多| 无码国模国产在线无码精品国产自在久国产 | 久久国产精品无码网站| 99热门精品一区二区三区无码 | HEYZO无码综合国产精品| 亚洲中文无码卡通动漫野外| 亚洲国产91精品无码专区| 亚洲av无码专区在线观看下载| 日韩va中文字幕无码电影| 国产av无码专区亚洲av毛片搜| 欧洲无码一区二区三区在线观看 | 亚洲AV无码乱码精品国产| 无码福利写真片视频在线播放| 成人无码网WWW在线观看| 午夜亚洲av永久无码精品| 亚洲久热无码av中文字幕| 中文字幕久久久人妻无码| 无码人妻精品一区二区三 | 人妻精品久久无码区洗澡| 毛片免费全部播放无码| 色综合久久久久无码专区| 中文字幕人妻无码专区| 中文无码日韩欧免费视频| 中文字幕无码不卡在线| 西西4444www大胆无码| 亚洲一级特黄无码片| 亚洲精品无码久久不卡| 无码国产成人午夜电影在线观看| 免费无码A片一区二三区| 国产做无码视频在线观看| 国产精品无码专区在线观看| 久久久久成人精品无码| 久久青青草原亚洲AV无码麻豆| 国产av永久无码天堂影院| 麻豆aⅴ精品无码一区二区|