Java 有关配置xml文件的安全问题
在我的应用程序中,我有一个正在解析的Java 有关配置xml文件的安全问题,java,android,Java,Android,在我的应用程序中,我有一个正在解析的config.xml文件,。在这个配置文件中,有一些数据我不知道最终用户在明文中看到了什么。在这种特殊情况下,邮件帐户的密码。config.xml文件保存到一个具有路径的文件夹中 /mnt/sdcard/my_application_folder/config.xml 我查找了类文件提供的一些方法 setReadable(布尔值) setExecutable(布尔值) 可设置写(布尔值) 我尝试以这种方式应用这些方法: String path = f
config.xml
文件,。在这个配置文件中,有一些数据我不知道最终用户在明文中看到了什么。在这种特殊情况下,邮件帐户的密码。config.xml
文件保存到一个具有路径的文件夹中
/mnt/sdcard/my_application_folder/config.xml
我查找了类文件提供的一些方法
- setReadable(布尔值)
- setExecutable(布尔值)
- 可设置写(布尔值)
String path = folder.getPathToNode() + "/config.xml";
configFile = new File(path);
if(configFile.exists()) {
configFile.setReadable(false);
configFile.setExecutable(true);
configFile.setWritable(false);
}
我想你们中的一些人会建议我将这些数据存储在SharedReferences
中,但我的应用程序有两个用户组,最终用户组和一个管理员组,他们将在他的计算机上编辑config.xml
,并将文件传输到手机上
我可以打开Astro文件管理器
并以纯文本形式查看config.xml
,但我不应该这样做,因为文件不可读
如果应用上述值,是否可以解析此
config.xml
?有人能为这个“安全问题”提出另一个解决方案吗 不要将敏感数据保存在SD卡/外部存储器上。任何应用程序都可以读取它,即使没有特殊权限。找到另一种更新设置的方法(通过用户界面、服务器推送等),或者至少想出一些加密或混淆敏感信息的方法。外部存储通常是VFAT(或模拟它),因此无法设置文件权限 除了尼古拉,用纯文本存储密码从来都不是一个好主意。我不是安卓专家,但我确信他们为[en/de]加密数据提供了api。请参阅关于安卓数据安全的众多讨论。简而言之,你不能,如果你正在考虑在设备上存储密码(我假设不是用户),我建议重新考虑你的方法。