Задать вопрос
@vladimirchelyabinskiy

C# Как зашифровать алгоритмом AES 256 часть файла в режиме CBC?

В картинке содержится пароль, необходимо зашифровать картинку алгоритмом AES 256 в режиме CBC не полностью!
Только первый 1МБ к примеру
Размер картинки от 2 до 5 МБ
И расшифровать :)

Не нужно предлагать мне MSDN и шифровать весь файл.
  • Вопрос задан
  • 1273 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    SDP-030_PRG Продвинутая разработка в Microsoft .NET
    1 неделя
    Далее
  • Ulearn.me
    Проектирование на языке C#
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
@rare
var aes = new AesCryptoServiceProvider {Mode = CipherMode.CBC};
var encryptor = aes.CreateEncryptor();
var decryptor = aes.CreateDecryptor();

var image = File.ReadAllBytes("image.png");
var encryptedImagePart = encryptor.TransformFinalBlock(image, 0, 1024);
using (var fs = File.Create("encrypted"))
{
    fs.Write(encryptedImagePart, 0 , encryptedImagePart.Length);
    fs.Write(image, 1024, image.Length - 1024);
    fs.Flush(true);
}

var encryptedImage = File.ReadAllBytes("encrypted");
var decryptedImagePart = decryptor.TransformFinalBlock(encryptedImage, 0, encryptedImagePart.Length);
using (var fs = File.Create("decrypted"))
{
    fs.Write(decryptedImagePart, 0, decryptedImagePart.Length);
    fs.Write(encryptedImage, encryptedImagePart.Length, encryptedImage.Length - encryptedImagePart.Length);
    fs.Flush(true);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы