我知道 EncryptedSharedPreferences 使用 Android 密钥库来安全地加密首选项,并且 Android 密钥库与设备硬件绑定在一起。我还了解到密钥库无法像首选项和数据库那样进行备份。 我的问题是,当我尝试将应用程序设置恢复到新设备上时,这意味着什么:
首选项仍以解密方式备份吗?
它们是否仍处于加密状态,因此在新设备上无法使用?
我应该从备份中排除 EncryptedSharedPreferences 吗?
如果您找到用作
.xml
文件的 Shared Preferences
文件,您会发现 key
和 value
都已加密。 (这里的 key
是指您在放置共享首选项时使用的 key
,而不是用于加密的 MasterKey
)。因此,如果您备份该文件,您将获得其加密版本。由于新设备和 key
已加密,您将无法访问任何内容,并且可能会达到所有 Shared Preferences
的默认状态。您应该从备份中排除 Encrypted Shared Preferences
。如果包含,则新设备上将不会有可用于解密密码的 MasterKey
。总之,这意味着您在新设备上安装时将无法访问任何数据。