Практические работы Часть 2 / Практическая работа 6 / пр6
.docПрактическая работа №6
Защита оперативной памяти компьютера
Цель: освоить технологию работы с программой защиты оперативной памяти
Ход работы
Задание: Защита оперативной памяти компьютера.
Листинг:
using System;
using System.Security.Cryptography;
namespace ЗащиОПКомп {
class Program {
private static byte[] s_aditionalEntropy = { 3, 6, 2, 1, 5 };
static void Main(string[] args) {
//Данные для шифрования
byte[] secret = {3, 6, 8, 1, 5, 4};
//Шифрование
byte[] encryptedSecret = ProtectData(secret);
Console.WriteLine("Зашифрованный массив данных:");
PrintData(encryptedSecret);
//Расшифровака
byte[] originalData = UnprotectData(encryptedSecret);
Console.WriteLine("{0} Расшифрованные данные:", Environment.NewLine);
PrintData(originalData);
}
private static byte[] ProtectData(byte[] data) {
try {
return ProtectedData.Protect(data, s_aditionalEntropy, DataProtectionScope.CurrentUser);
}
catch (CryptographicException e) {
Console.WriteLine("Ошибка шифрования.");
Console.WriteLine(e.ToString());
return null;
}
}
private static byte[] UnprotectData(byte[] data){
try {
return ProtectedData.Unprotect(data, s_aditionalEntropy, DataProtectionScope.CurrentUser);
}
catch (CryptographicException e) {
Console.WriteLine("Ошибка шифрования.");
Console.WriteLine(e.ToString());
return null;
}
}
private static void PrintData(byte[] Array) {
foreach (byte i in Array) Console.Write("{0} ", i);
Console.WriteLine();
Console.ReadKey();
}
}
}
Результат выполнения программы: