首页 > 解决方案 > 如何保护应用程序内的内容?

问题描述

我想为我的网站创建一个提供在线课程的应用程序,登录后将允许离线访问所有内容(文本和图像)。

我想过简单地将所有数据保存为 HTML 或类似的东西,因为这将是以后显示它的最简单方法,但这将允许任何有一点知识的人在几分钟内提取所有数据,并传播它。

以加密方式或类似方式存储它是否有意义?我该怎么做呢?如果我只是使用加密解密功能,那么任何能够阅读代码的人都可以访问它......

这个问题适用于 iOS 和 Android 开发,但我认为 Android 在这种情况下是一个更大的问题。

标签: androidios

解决方案


您可以考虑使用EncryptedSharedPreferences。示例用法是

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();

您也许可以通过搜索找到更多示例。

有关 Android 数据安全的更多想法,请查看此处,其中显示了如何读取/写入加密文件


推荐阅读