1

我正在寻找一种更安全的方法来在设备上保留登录的用户特定信息,我想确保无法检索此信息。我找到了一种解决方案,即 `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 的初学者。

4

2 回答 2

1

如果你想要一些真正快速和跨平台的东西,我会推荐这个插件:https ://github.com/sameerkapps/SecureStorage 。它使用 Android 上的 KeyStore 和 iOS 上的 Key-chain 来保存数据。

我在 Android 和 iOS 中使用它没有任何问题。实施时间不到 5 分钟,我用它来存储我的 oAuth2 流的访问令牌。缺点是您需要对安全密码进行硬编码,而有人可以通过逆向工程来访问您的数据。一种解决方法(如果您确实需要该级别的安全性)是每次会话从您的服务器检索一次安全密钥,但是当设备网络不可用时这可能是一个问题。

于 2017-08-06T23:35:53.693 回答
0

看看Android Keystore System
如果您想要不那么安全的方法 - 使用Shared preferences。这是谷歌描述
如果你想要一些跨平台的方式,有 Xamarin.Forms配方

于 2017-08-06T08:16:52.437 回答