Android 一個對sharedpreferences 數據進行加密的開源庫

来源:http://www.cnblogs.com/zhaoyanjun/archive/2016/09/01/5830836.html
-Advertisement-
Play Games

1、項目地址 https://github.com/iamMehedi/Secured-Preference-Store 2、使用方法 2.1、存數據 2.2、 取數據 3、xml文件內容 可以看到xml文件裡面的內容都已經變成了混亂的字元,從而實現加密。 4、SecurePreferenceSto ...


1、項目地址

     https://github.com/iamMehedi/Secured-Preference-Store

 

2、使用方法

     2.1、存數據

 

  //存數據
SecuredPreferenceStore prefStore = SecuredPreferenceStore.getSharedInstance(getApplicationContext());
prefStore.edit().putString( "t1" , "tttttt1111111").apply(); ;

     2.2、 取數據

 

String data1 = prefStore.getString( "t1" , "default") ;

 

 

3、xml文件內容

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <string name="11CD15241CB4D6F953FA27C76F72C10920C5FADF14FF2824104FA5D67D25B43C">ZMnr87IlDKg81hKw2SQ6Lw==]dhP/ymX7CMSaCkP6jQvNig==</string>
    <string name="C8D076EFD8542A5F02F86B176F667B42BFB9B1472E974E6AF31EB27CEA5689D4">JQ6Y4TQ/Y3iYw7KtatkqAg==]P+gpavV0MXiy1Qg0UHlBMg==</string>
    <string name="F2AA713F406544A3E9ABA20A32364FA29613F01C867B3D922A85DF4FA54FA13D">jMH1Wjnk0vehHOogT27HRA==]e8UHX1ihYjtP6Cv8dWdHLBptLwowt6IojKYa+1jkeH4=</string>
    <string name="C06C6027E72B7CE947885F6ADE3A73E338881197DBE02D8B7B7248F629BE26DA">EAGwO8u2ZPdxwdpAwPlu6A==]797VOGtpzDBO1ZU3m+Sb1A==</string>
    <string name="33188AFFEC74B412765C3C86859DE4620B5427C774D92F9026D95A7A8AAE1F96">s0b5h8XNnerci5AtallCQziSbqpm+ndjIsAQQadSxM+xzw7865sE3P+hbxGmMAQQj0kK35/C//eA
MXuQ0N/F+oapBiDIKdRt2GJB3wJ+eshuh6TcEv+J8NQhqn1eO2fdao353XthHpRomIeGEWLvB4Yd
7G5YYIajLWOGWzQVsMTg1eqdcJ7+BAMXdOdWhjTTo91NvhvykgLMC03FsePOZ/X8ej4vByH1i0en
hJCiChk90AQ9FhSkaF/Oum9KoWqg7NU0PGurK755VZflXfyn1vZ8hhTulW7BrA2o9HvT9tbju+bk
4yJ5lMxgS6o4b+0tqo+H4TPOUiZPgehTwsrzJg==
    </string>
    <string name="9DCB904DFDA83286B41A329A7D8648B0BFF73C63E844C88800B2AA5119204845">XPuUd1t97pnwsOzzHY3OCA==]xqXJrEfcgDhYo2K4TTAvY9IQwP/tGctd4Fa1JT/1sB8=</string>
</map>

  可以看到xml文件裡面的內容都已經變成了混亂的字元,從而實現加密。

 

4、SecurePreferenceStore源碼解析

         可以看到 SecurePreferenceStore 這個類繼承了系統的SharePreferences. 

 

       

           然後重寫了 裡面的 get方法,在重寫的方法中,用EncryptionManager的decrypt()方法去對 value 值解密

         

       用Editor類繼承 SharedPreferences.Editor ,然後重寫裡面的put 方法,對傳進來的value值進行加密。













您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上篇博客《iOS逆向工程之KeyChain與Snoop-it》中已經提到了,App間的數據共用可以使用KeyChian來實現。本篇博客就實戰一下呢。開門見山,本篇博客會封裝一個登錄用的SDK, 該登錄SDK中包括登錄、註冊、忘記密碼等功能,當然該SDK中包括這些功能的UI、數據驗證等業務邏輯、網路請 ...
  • 這裡利用 ProgressBar 即時顯示下載進度。 途中碰到的問題: 1、主線程中不能打開 URL,和只能在主線程中使用 Toast 等 2、子線程不能修改 UI 3、允許網路協議 4、暫停下載和繼續下載 ........ fragment_main 佈局文件 1 <RelativeLayout ...
  • Drawable animation可以載入Drawable資源實現幀動畫。AnimationDrawable是實現Drawable animations的基本類。 這裡用AnimationDrawable 簡單模擬動態圖的實現。 fragment_main 佈局文件 只需要放一個 ImageVie ...
  • 草原上的兩匹馬! 打從當年微信開始佈局公眾號之初時,估計就已經想到了與支付寶正面衝突的場面,所以微信先來個瞞天過海,在春晚搞了個微信紅包,那叫一個火呀,此時的云云隱隱感覺到些許不安。 早期的微信開發者可能都知道,微信公眾號剛開始的時候接入支付要交巨額的保證金,根據行業不同,金額也不同,但也有大幾萬呢 ...
  • ...
  • 以前一直在用ListView,,,最近才看RecyclerView發現好強大。RecyclerView前提是Android版本在5.0以上,本人以前用的是eclipse只支持到4.4。索性就安裝一個Android Studio去開發RecyclerView吧 真是萬事開頭難,然後中間難,然後結尾難。 ...
  • Swift - 實現點擊cell動態修改高度 效果 源碼 https://github.com/YouXianMing/Swift-Animations ...
  • 補充一點遺漏的Xcode配置。 1.偏好設置。Xcode的菜單欄Xcode -> Preference Fonts & Colors可以自定義編碼區和控制台的背景、字體。 Text Editing:Line numbers顯示行數,Code folding ribbon使代碼可以摺疊,page gu ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...