我正在寻找一种更安全的方法来在设备上保留登录用户的特定信息,我想确保无法检索到这些信息。 我找到了一种解决方案,即 `string filename = "userId.txt";
var personalData = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
if (!Directory.Exists(personalData))
{
Console.WriteLine("Directory does not exist.");
}
else
{
Console.WriteLine("Directory exists.");
File.AppendAllText(personalData + @"/" + filename, String.Format("{0}={1}", key, value));
}`
这是做我想做的事情的正确方法吗?或者我应该考虑 SQL Lite? 谁能指导一下,我只是 android/Xamarin 的初学者。
最佳答案
如果你想要真正快速和跨平台的东西,我会推荐这个插件:https://github.com/sameerkapps/SecureStorage . 它在 Android 上使用 KeyStore,在 iOS 上使用 Key-chain 来保存数据。
我在 Android 和 iOS 中使用它没有任何问题。实现时间不到 5 分钟,我用它来存储我的 oAuth2 流程的访问 token 。 缺点是您需要对安全密码进行硬编码,而有人可以通过逆向工程来访问您的数据。一个解决方法(如果您确实需要该级别的安全性)是在每个 session 中从您的服务器检索一次安全 key ,但是当设备网络不可用时,这可能会成为一个问题。
关于android - 在 Android 设备上保存用户特定数据/访问 token 的安全方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45524737/