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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д