Существует ли стандарт для хранения имени пользователя и пароля в приложениях WP7? - PullRequest
18 голосов
/ 24 января 2012

Я хотел бы спросить, существует ли стандарт для хранения имени пользователя и пароля в приложении Windows Phone.Я работаю над проектом, который проверяет пользователя на каждый вызванный запрос.Итак, я хочу сохранить имя пользователя и пароль.Может быть, даже дать им возможность «запомнить меня», поэтому, если для этого нет стандарта, мне придется написать его самому, но я предполагаю, что у Microsoft есть встроенный.

Ответы [ 2 ]

20 голосов
/ 24 января 2012

Использовать ProtectedData .Я нашел этот пример на Kevin D. Wolf's эффективноеcoder.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;
        }
   }

(Извините за вырезание и вставку, я должен был использовать текст из сканирования изображения)

6 голосов
/ 24 января 2012

Вы должны зашифровать свои пароли и другие конфиденциальные данные, используя процедуры класса ProtectedData, и вручную сохранить их в изолированном хранилище для своего приложения.

Для шифрования enter image description here

расшифровать enter image description here

Также убедитесь, что вы добавили ссылку на mscorelib, расширенную для вашего проекта. Мне пришлось выучить это трудным путем.

Хорошая статья на эту тему: http://debugmode.net/2011/10/16/protecting-password-or-any-data-in-windows-phone-7-using-data-protection-api/

...