Установка 128bit-ключ для AES - C#

Узнай цену своей работы

Формулировка задачи:

При попытке установить AES ключ более 32 bit, появляется ошибка. :-\
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.IO;
 
namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            AesCryptoServiceProvider aes = new AesCryptoServiceProvider();
            byte[] key = ASCIIEncoding.ASCII.GetBytes("1234567812345678123456781234567812345678123456781234567812345678");
            aes.Key = key;
        }
    }
}
Этот код УЖЕ выдаёт ошибку, но ведь в AES ключ должен быть 128/256/512, а не 16/32...

Решение задачи: «Установка 128bit-ключ для AES»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security.Cryptography;
 
namespace ConsoleApplication7 {
    class Program {
        static void Main(string[] args) {
            byte[] bytes = ASCIIEncoding.ASCII.GetBytes("1234567812345678123456781234567812345678123456781234567812345678");
            byte[] key = Enumerable.Range(0, 16).Select(b => (byte)b).ToArray();
            Aes aes = Aes.Create();
            aes.Key = key;
            foreach (var keySize in aes.LegalKeySizes) {
                Console.WriteLine("Min: {0}, Max: {1}", keySize.MinSize, keySize.MaxSize);
            }
            Console.ReadLine();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы