Шифрование пароля при сохранении в xml файле - C#
Формулировка задачи:
в моей программе можно ввести в текстовые поля login,password,domain. сохраняется всё в отдельном фале xml формата. Далее данная запись отображаеться в listview.
хочу чтобы в файле пароль сохранялся в зашифрованном виде. не обезательно делать супер сложный шифр, но чтобы так просто он не лежал в открытом виде. При запуске программы в listview отображались все 3 колонки login,pass,domain уже в расшифрованом виде.
Кто знает как реализовать данный замысел ?
Решение задачи: «Шифрование пароля при сохранении в xml файле»
textual
Листинг программы
class PasswordHelper { private static RijndaelManaged CreateUsingRandom(int seed = -48718031) { Random rnd = new Random(seed); var rijndael = new RijndaelManaged(); rijndael.BlockSize = 256; rijndael.KeySize = 256; byte[] key = new byte[rijndael.KeySize/8]; rnd.NextBytes(key); rijndael.Key = key; byte[] iv = new byte[rijndael.BlockSize/8]; rnd.NextBytes(iv); rijndael.IV = iv; return rijndael; } public static string Encrypt(string password) { var mstream = new MemoryStream(); using (var rijndael = CreateUsingRandom()) using (var cryptoStream = new CryptoStream(mstream, rijndael.CreateEncryptor(), CryptoStreamMode.Write)) using (var writer = new StreamWriter(cryptoStream)) { writer.Write(password); } return Convert.ToBase64String(mstream.ToArray()); } public static string Decrypt(string base64text) { var mstream = new MemoryStream(Convert.FromBase64String(base64text)); using (var rijndael = CreateUsingRandom()) using (var cryptoStream = new CryptoStream(mstream, rijndael.CreateDecryptor(), CryptoStreamMode.Read)) using (var reader = new StreamReader(cryptoStream)) { return reader.ReadToEnd(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д