AES(ECB) расшифровка текста - C#
Формулировка задачи:
Всем привет, задача:
Есть текст в виде HEX-строки ("4500002812B0400080066831C0A80196BC8A0126D4452774786CE0697BFEC6C350103FCD58C60000").
Есть ключ в виде HEX-строки ("45208F152B5BFA8082DB3B3C2C2DAAF00581FF6C")
Мне нужно расшифровать этот текст.
Желательно готовое решение, спасибо.
Решение задачи: «AES(ECB) расшифровка текста»
textual
Листинг программы
private static void Main()
{
byte[] key = ConvertToBytes("45208F152B5BFA8082DB3B3C2C2DAAF0");
byte[] text = Encoding.UTF8.GetBytes("Мне нужно расшифровать этот текст. Желательно готовое решение, спасибо.");
using (var rijndael = new RijndaelManaged { Mode = CipherMode.ECB })
{
using (ICryptoTransform encryptor = rijndael.CreateEncryptor(key, null))
using (ICryptoTransform decryptor = rijndael.CreateDecryptor(key, null))
{
byte[] encryptedText = encryptor.TransformFinalBlock(text, 0, text.Length);
Console.WriteLine("Зашифрованный текст (hex):\n{0}", BitConverter.ToString(encryptedText));
Console.WriteLine("\nЗашифрованный текст (utf-8):\n{0}", Encoding.UTF8.GetString(encryptedText));
byte[] decryptedText = decryptor.TransformFinalBlock(encryptedText, 0, encryptedText.Length);
Console.WriteLine("\nРасшифрованный текст:\n{0}", Encoding.UTF8.GetString(decryptedText));
}
}
}
public static byte[] ConvertToBytes(string hex)
{
var bytes = new byte[hex.Length >> 1];
for (int i = 0; i < bytes.Length; i++)
{
bytes[i] = Convert.ToByte(hex.Substring(i << 1, 2), 16);
}
return bytes;
}