Я пытаюсь написать программу, с помощью которой вы можете войти на удаленный веб-сайт. Для некоторых людей, имеющих несколько учетных записей, я стараюсь упростить их и хранить данные учетной записи в IsolatedStorage
. В текущем состоянии моего кода пароль вводится только в TextBox
и сразу же после его преобразования преобразуется в хэш MD5.Как правильно сохранить пароль
Теперь я хотел бы реорганизовать это на правильный код, но я застрял.
A PasswordBox
предоставляет свои данные через PasswordBox.SecureString
и PasswordBox.Password
.
Так при нажатии моей кнопки Сохранить я выполнить что-то вроде
public void OnClick(...)
{
var password = passwordBox.Password;
// store it somehow (e.g. custom MD5 encryption)
var savePassword = passwordBox.SecureString;
// store this string somehow, but how?
}
Вот мои вопросы
- Как только я поставил простой пароль от моего
PasswordBox
вvar password
, есть что-то видно в памяти? Может ли какой-нибудь хакер быть в состоянии сделать это простое значение видимым посредством отражения/отладки? Какой код делает эти строки действительно видимыми? И что мне нужно знать? - Как обращаться
SecureString
отPasswordBox
?
Я немного перегружен всем этим, и я не могу понять, как правильно обрабатывать пароли в приложении.
Я не молюсь за целое решение и код запуска. Я просто буду рад, если кто-то сможет заставить меня начать. А также, я не хочу решения для предприятий. Я просто ищу один, который легко реализовать и как можно экономить для усилий, которые я вложил.
Если злоумышленник может запустить отладчик или использовать отражение на личных данных *, то у них уже есть система *. –