Для початку нам потрібно отримати відкритий і закритий ключі, далі їх потрібно десь зберегти для подальшої роботи.
Потім взяти потрібні дані, конвертувати їх в масив байтів і зашифрувати Ну а потім розшифрувати. Власне відкритим ми шифруємо, закритим дешіфруем. Власне ось приклад коду який все ілюструє
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
RSACryptoServiceProvider RsaKey = new RSACryptoServiceProvider();
string publickey = RsaKey.ToXmlString (false); // отримаємо відкритий ключ
string privatekey = RsaKey.ToXmlString (true); // отримаємо закритий ключ
File.WriteAllText("private.xml", privatekey, Encoding.UTF8);
File.WriteAllText("public.xml", publickey, Encoding.UTF8);
byte[] EncryptedData;
byte[] data = new byte[1024];
data = Encoding.UTF8.GetBytes("Hello");
EncryptedData = RsaKey.Encrypt(data, false);
byte[] DecryptedData = new byte[1024];
DecryptedData = RsaKey.Decrypt(EncryptedData, false);
RSACryptoServiceProvider RsaKey_n = new RSACryptoServiceProvider();
RsaKey_n.FromXmlString(publickey + privatekey); // можна використовувати тільки відкритий ключ, або пару відкритий і закриті
DecryptedData = new byte[1024];
DecryptedData = RsaKey.Decrypt(EncryptedData, false);
Console.Read();
}
}
}