2010-01-15 2 views
0

У меня есть изображение на моем диске, я зашифровал байты, добавив числовое значение, теперь как я могу записать этот измененный файл и заменить старый?Запись измененного изображения на диск

Вот мой метод шифрования [очень newbish, потому что я просто получаю чувство для вещей: P]:

private void EncryptFile() 
    {    
     OpenFileDialog dialog = new OpenFileDialog(); 
     dialog.Filter = "JPEG Files (*.jpeg)|*.jpeg|PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif"; 
     dialog.InitialDirectory = @"C:\Users\Sergio\Desktop"; 
     dialog.Title = "Please select an image file to encrypt."; 
     if (dialog.ShowDialog() == DialogResult.OK) 
     { 
      byte[] ImageBytes = File.ReadAllBytes(dialog.FileName); 

      for (int i = 0; i < ImageBytes.Length; i++) 
      { 
       ImageBytes[i] = (byte)(ImageBytes[i] + 5); 
      }     
     }    
    } 

Я застрял там. Я не знаю, как это сделать. Технически, после этого для цикла, у меня есть модовое изображение внутри байта [] ImageBytes. Теперь, как я могу записать его в том же месте, что и изображение?

Woah! На стороне примечания, я читаю файл правильно, используя dialog.FileName. Это возвращает путь к файлу?

+0

Какой смысл делать шифр Цезаря? Это тривиально сломать. :-P –

+2

ОБУЧЕНИЕ ДАМН ВАМ! ОБУЧЕНИЕ! xD Нет, но на самом деле просто как шаг к использованию XOR или другого более сложного шифра. Просто изучать вещи на самом деле. Никогда не делал ничего подобного. : D Плюс, я только что закончил играть Assassin's Creed 2, и я хочу чувствовать себя как Леонардо. –

+1

XOR - это «сложный» шифр? Шутки в сторону?! : -P Здесь я думал, что вы можете подумать о внедрении AES, и тогда люди просто скажут вам, что вы используете встроенную платформу .NET Framework. На самом деле, это единственный способ пойти, если вы не специалист по криптографии. :-P –

ответ

5
File.WriteAllBytes(dialog.FileName, ImageBytes); 
Смежные вопросы