錦州市廣廈電腦維修|上門維修電腦|上門做系統|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无码久久忘忧草| 人妻夜夜添夜夜无码AV| 精品无码成人片一区二区98 | 成人免费无码大片A毛片抽搐| 久久久无码精品人妻一区| 成人年无码AV片在线观看| 亚洲中久无码不卡永久在线观看| 国产精品无码日韩欧| 精品无码AV无码免费专区| 久久精品无码一区二区三区日韩| 日日摸日日踫夜夜爽无码| 日韩AV无码精品一二三区| 精品人妻大屁股白浆无码| 国产午夜无码片在线观看| 2019亚洲午夜无码天堂| 少妇无码?V无码专区在线观看| 无码国产精品一区二区免费模式| 国产怡春院无码一区二区| 国产办公室秘书无码精品99 | 中文字幕人妻无码系列第三区| 色综合AV综合无码综合网站| 国产成人AV无码精品| 下载天堂国产AV成人无码精品网站| 久久久久无码精品国产不卡| 高清无码v视频日本www| 精品亚洲A∨无码一区二区三区 | 人妻老妇乱子伦精品无码专区| 日韩人妻无码精品一专区| 亚洲精品无码不卡| 国语成本人片免费av无码| 精品久久久久久中文字幕无码| 国产久热精品无码激情| 国产精品无码一区二区在线观一| 国产成年无码AV片在线韩国| 无码区国产区在线播放| 亚洲中文字幕久久精品无码2021 | 日韩精品无码免费视频| 一本色道久久HEZYO无码| 日韩免费无码一区二区三区|