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