有关配置xml文件的安全问题

时间:2012-10-02 08:59:32

标签: java android

在我的应用程序中,我有一个正在解析的config.xml文件。在这个配置文件中,有一些数据我不是最终用户在纯文本中看到的。在这种特殊情况下,是邮件帐户的密码。 config.xml文件将保存到路径为

的文件夹中
/mnt/sdcard/my_application_folder/config.xml  

我查找了类File

提供的一些方法
  • setReadable(boolean value)
  • setExecutable(boolean value)
  • setWritable(boolean value)

我尝试以这种方式应用这些方法:

String path = folder.getPathToNode() + "/config.xml";
configFile = new File(path);

if(configFile.exists()) {
    configFile.setReadable(false);
    configFile.setExecutable(true);
    configFile.setWritable(false);
}

我想有些人会建议我将这些数据存储在SharedPreferences中,但我的应用程序有两个用户组,最终用户管理员将编辑计算机上的config.xml,并将文件传输到手机。

我可以打开Astro File Manager并以纯文本格式查看config.xml,但我不应该因为该文件无法读取?

如果我应用上述值,我可以解析此config.xml吗?任何人都可以建议另一个解决这个“安全问题”的方法吗?

2 个答案:

答案 0 :(得分:2)

请勿将敏感数据保存在SD卡/外部存储设备上。即使没有特殊权限,任何应用程序都可以读取它。找到另一种更新设置的方法(通过UI,服务器推送等)或者至少考虑一些加密或混淆敏感信息的方法。外部存储通常是VFAT(或模拟它),因此您无法设置文件权限。

答案 1 :(得分:0)

除了Nikolay之外,以纯文本格式存储密码绝对不是一个好主意。我不是机器人专家,但我确信他们为[en / de]地穴数据提供了api。