18

我想问是否有标准可以在 Windows Phone 应用程序中存储用户名和密码。我正在开发一个项目,该项目在每个调用的请求上验证用户。所以,我想存储用户名和密码。也许甚至给他们“记住我”的可能性,所以如果没有这样做的标准,我将不得不自己编写它,但我猜微软有一个内置的。

4

2 回答 2

20

使用ProtectedData我在Kevin D. Wolf 的efficientcoder.net上找到了这个例子 :

   public static String Password {
        get {
            if (IsolatedStorageSettings.ApplicationSettings.Contains(STR_PASSWORÐ)) {
                var bytes = IsolatedstorageSettings.Applicationsettings[STR_PASSwORÐ] as byte[];
                var unEncrypteBytes = ProtectedData.Unprotect(bytes, null);
                return Encoding.UTF8.GetString(unEncrypteBytes, 0, unEncrypteBytes.Length);
            } else {
                return string.Empty; 
            }
        }
        set {
            var encryptedBytes = ProtectedData.Protect(Encoding.UTF8.GetBytes(value), null);
            IsolatedStorageSettings.ApplicationSettings[STR_PASSWORÐ] = encryptedBytes;
        }
   }

(抱歉,我不得不使用图像扫描中的文本进行剪切和粘贴)

于 2012-01-24T11:12:13.387 回答
6

您应该使用类例程加密您的密码和其他敏感数据ProtectedData,并将它们手动存储在应用程序的独立存储中。

加密 在此处输入图像描述

解密 在此处输入图像描述

此外,请确保添加对扩展到项目的 mscorelib 的引用。我不得不以艰难的方式学习这一点。

关于该主题的一篇好文章是: http ://debugmode.net/2011/10/16/protecting-password-or-any-data-in-windows-phone-7-using-data-protection-api/

于 2012-01-24T11:20:52.460 回答