#c_sharp #шифрование
Пишу маленькую программу для чтения/записи текста. Первый раз с этим сталкиваюсь, так как пока что я новичок в C#, хотелось бы посмотреть на простой пример. Сложные решение думаю пока что не смогу понять.
Ответы
Ответ 1
Спасибо за подсказки, по ним я нашел очень простой пример, правда нужно будет более детально в нем разобраться, но все же он очень простой. Шифруем текст, и записываем его в файл FileStream stream = new FileStream("C:\\mytext.txt", FileMode.OpenOrCreate, FileAccess.Write); DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider(); cryptic.Key = ASCIIEncoding.ASCII.GetBytes("ABCDEFGH"); cryptic.IV = ASCIIEncoding.ASCII.GetBytes("ABCDEFGH"); CryptoStream crStream = new CryptoStream(stream, cryptic.CreateEncryptor(),CryptoStreamMode.Write); byte[] data = ASCIIEncoding.ASCII.GetBytes("Hello World!"); crStream.Write(data,0,data.Length); crStream.Close(); stream.Close(); Дешифруем текст и выводим результат дешифрации в консоль FileStream stream = new FileStream("C:\\mytext.txt", FileMode.Open,FileAccess.Read); DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider(); cryptic.Key = ASCIIEncoding.ASCII.GetBytes("ABCDEFGH"); cryptic.IV = ASCIIEncoding.ASCII.GetBytes("ABCDEFGH"); CryptoStream crStream = new CryptoStream(stream, cryptic.CreateDecryptor(),CryptoStreamMode.Read); StreamReader reader = new StreamReader(crStream); string data = reader.ReadToEnd(); Console.WriteLine(data); Console.ReadKey(); reader.Close(); stream.Close(); Теперь осталось понять работу ключей, почитать мануал. что бы действительно понимать как все работает.Ответ 2
Спасибо за хороший пример. Если вы хотите что бы корректно отображался кириллический текст то при записи следует немого изменить код при записи. var dstEncoding = Encoding.UTF8; FileStream stream = new FileStream("C:\\mytext.txt", FileMode.OpenOrCreate, FileAccess.Write); DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider(); cryptic.Key = ASCIIEncoding.ASCII.GetBytes("ABCDEFGH"); cryptic.IV = ASCIIEncoding.ASCII.GetBytes("ABCDEFGH"); CryptoStream crStream = new CryptoStream(stream, cryptic.CreateEncryptor(),CryptoStreamMode.Write); byte[] data = dstEncoding.GetBytes("Hello World!"); crStream.Write(data,0,data.Length); crStream.Close(); stream.Close();
Комментариев нет:
Отправить комментарий