检查共享首选项是否已加密

时间:2019-10-01 20:36:45

标签: android sharedpreferences

我正在使用以下代码加密共享首选项:

String masterKeyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC);

   SharedPreferences sharedPreferences = EncryptedSharedPreferences.create(
       "secret_shared_prefs",
       masterKeyAlias,
       context,
       EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
       EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
   );

   // use the shared preferences and editor as you normally would
   SharedPreferences.Editor editor = sharedPreferences.edit();

从此answer拍摄。 我想知道一种以编程方式检查数据是否成功加密的方法。我尝试使用上面的代码对共享的首选项进行加密,并且没有显示任何错误。

3 个答案:

答案 0 :(得分:2)

在Android Studio中, 启动Android设备监视器, 转到文件资源管理器,

并浏览“ / data / data / <软件包名称> / shared_prefs /”。

您将在此处找到首选项XML ...,也可以将其复制以进行检查。 您可以看到xml内容(加密或解密)

答案 1 :(得分:1)

您可以实现stetho库,以从Web浏览器查看共享首选项和更多内容,例如数据库或http调用。

太简单了

http://facebook.github.io/stetho/

答案 2 :(得分:0)

有人知道如何测试EncryptedSharedPreferences吗?我在模拟MasterKeys.AES256_GCM_SPEC时遇到问题,我不断收到空指针异常。有什么建议吗? 附言我知道这是题外话。