Android : AccountManager 中的数据存储在哪里
Android : Where are stored the data put into AccountManager
对于我的项目,我需要存储一个用户标识符。我想也许我可以将它存储在 /data/data/com.my.package/files 中,但是如果有人 root phone 很明显他会先在这里搜索。所以我想为什么不使用 AccountManager 看起来更安全一点(如果我错了请告诉我)。所以这是我的问题:AccountManager 中存储的数据放在哪里?
提前致谢!
使用 AccountManager 并不比使用内部存储中的文件更安全。带有帐户的数据库未加密,仍然可以在有根设备上访问。这是引自 official docs:
It's important to understand that AccountManager is not an encryption
service or a keychain. It stores account credentials just as you pass
them, in plain text. On most devices, this isn't a particular concern,
because it stores them in a database that is only accessible to root.
But on a rooted device, the credentials would be readable by anyone
with adb access to the device.
可以在 /data/system/users/0/accounts.db
找到该数据库,其中 0 是用户 ID。
对于我的项目,我需要存储一个用户标识符。我想也许我可以将它存储在 /data/data/com.my.package/files 中,但是如果有人 root phone 很明显他会先在这里搜索。所以我想为什么不使用 AccountManager 看起来更安全一点(如果我错了请告诉我)。所以这是我的问题:AccountManager 中存储的数据放在哪里?
提前致谢!
使用 AccountManager 并不比使用内部存储中的文件更安全。带有帐户的数据库未加密,仍然可以在有根设备上访问。这是引自 official docs:
It's important to understand that AccountManager is not an encryption service or a keychain. It stores account credentials just as you pass them, in plain text. On most devices, this isn't a particular concern, because it stores them in a database that is only accessible to root. But on a rooted device, the credentials would be readable by anyone with adb access to the device.
可以在 /data/system/users/0/accounts.db
找到该数据库,其中 0 是用户 ID。