Android 外部存储文件

Android 外部存储文件,android,string,Android,String,这是我上一个问题的补充问题: 如果我将密码存储在外部存储器中的文件中并对其进行了加密,该文件是否可编辑 例如,我设置了一个pass“hello”,并将其存储在一个文件中。然后登录,我将调用加密字符串 如果您打开存储密码的文件,编辑并保存加密字符串,然后再次尝试登录应用程序,那么“hello”是否仍然有效 对不起,我对这件事有点陌生。是的,文件是可编辑的。使其不可编辑的唯一方法是使用mode_private存储在内部存储器中 加密可防止人们读取密码并编辑成仅由应用程序读取的格式。为什么不使用Sha

这是我上一个问题的补充问题:

如果我将密码存储在外部存储器中的文件中并对其进行了加密,该文件是否可编辑

例如,我设置了一个pass
“hello”
,并将其存储在一个文件中。然后登录,我将调用加密字符串

如果您打开存储密码的文件,编辑并保存加密字符串,然后再次尝试登录应用程序,那么
“hello”
是否仍然有效


对不起,我对这件事有点陌生。

是的,文件是可编辑的。使其不可编辑的唯一方法是使用mode_private存储在内部存储器中


加密可防止人们读取密码并编辑成仅由应用程序读取的格式。

为什么不使用
SharedReference
保存此类数据。如果您的数据不是很大,您可以使用SharedReference。将数据保存在
SharedReference
中,使其不可显式编辑。并且数据只能由应用程序编辑。文件

SharedReferences类提供了一个通用框架,允许您保存和检索基本数据类型的持久键值对。您可以使用SharedReferences保存任何基本数据:布尔值、浮点值、整数、长数和字符串。此数据将在用户会话中保持不变(即使您的应用程序被终止)


如果您的设备是根设备,用户是否能够查看和编辑内部存储中的文件?是的,它们将是根设备。但是,您可以在内部加密和存储,以防止从外部源读取。根本没有办法阻止在植根手机中进行编辑。它们存储在/system/data/data中,以备您尝试,如果他们为“hello”编辑加密字符串,“hello”将不起作用?是的,但无法阻止在根手机中编辑,因此没有其他解决方案。我担心使用SharedReference,用于存储密码的内部存储和SQLite是指当有人从“设置”>“管理应用程序”中清除应用程序的数据时,有一种解决方案可以防止清除,实际上称为“管理存储”。我看看能不能过一会儿给你接通这里是管理空间的解决方案。您可以阅读更多内容。可以阻止但不推荐。请浏览此链接