2010-01-15 6 views
0

J'ai une image sur mon disque, j'ai chiffré les octets en ajoutant une valeur numérique, maintenant comment puis-je écrire ce fichier modifié et remplacer l'ancien?Écrire une image modifiée sur le disque

Voici ma méthode de cryptage [très newbish parce que je suis juste une idée de choses: 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); 
      }     
     }    
    } 

Je suis coincé là-bas. Je ne sais pas vraiment comment procéder. Techniquement, après cette boucle, j'ai mon image modifiée à l'intérieur de l'octet [] ImageBytes. Maintenant, comment puis-je l'écrire exactement au même endroit que l'image?

Woah! D'un côté, suis-je en train de lire le fichier correctement en utilisant dialog.FileName. Est-ce que cela retourne le chemin du fichier?

+0

À quoi bon faire un chiffrement César? C'est trivial à casser. :-P –

+2

APPRENANT DAMN VOUS! APPRENTISSAGE! xD Non, mais vraiment juste comme une étape pour utiliser XOR ou un autre chiffrement plus dur. Juste apprendre les choses vraiment. Je n'ai jamais fait quelque chose comme ça. : D Plus, je viens de terminer Assassin's Creed 2 et je veux me sentir comme Leonardo. –

+1

XOR est un chiffrement "plus dur"? Sérieusement?! : -P Ici, je pensais que vous envisagiez de mettre en œuvre AES, et les gens vous diraient juste d'utiliser ce qui est intégré dans le .NET Framework. Vraiment, c'est la seule façon d'y aller à moins d'être un expert en cryptographie. :-P –

Répondre

5
File.WriteAllBytes(dialog.FileName, ImageBytes); 
Questions connexes