ICryptoTransform для RSA - C#
Формулировка задачи:
осуществляется шифрование
Тут используется алгоритм des, но мне нужен rsa. Пробовал так
какие есть предложения?
DES crypt = DES.Create(); ICryptoTransform transform = crypt.CreateEncryptor(); CryptoStream cs = new CryptoStream(fileStream, transform, CryptoStreamMode.Write);
RSACryptoServiceProvider crypt = new RSACryptoServiceProvider(); ICryptoTransform transform = crypt.Encrypt(k,false); // тут не удается преобразовать byte[] в ICryptoTransform CryptoStream cs = new CryptoStream(fileStream, transform, CryptoStreamMode.Write);
Решение задачи: «ICryptoTransform для RSA»
textual
Листинг программы
public static void Encrypt(string inputFile, string outputFile)
{
RSACryptoServiceProvider rsaKey = new RSACryptoServiceProvider();
rsaKey.FromXmlString(File.ReadAllText(@"D:\_publickey.cryp")); // размер 1024
byte[] data = Encoding.UTF8.GetBytes(File.ReadAllText(inputFile)); // размер 917
// т.е. нужно дополнить мои 917 до 1024? или 920? и при дешифровке отбрасывать их
byte[] EncryptedData = rsaKey.Encrypt(data, false); // Ошибка Плохая длина.
File.WriteAllBytes(outputFile, EncryptedData);
}