joue autour avec le cryptage et le décryptage des fichiers dans VC# Express 2010.C# File Encryption et numéro Decryption
Tous les didacticiels et la documentation que j'ai vus nécessite deux FileSteams afin de chiffrer le fichier. Un pour lire la version non cryptée et l'autre pour crypter. Lorsque j'ai réellement écrit le code, il continuait à me lancer une erreur me disant qu'il ne pouvait pas ouvrir le fichier car il était ouvert par un autre processus au niveau du flux de sortie.
Je suppose que c'est parce que le fichier est ouvert par le flux de fichiers d'entrée. Cela signifie donc que je dois spécifier un nom de fichier différent? Donc, même après l'opération réussie, je sais que le fichier non crypté d'origine dans le répertoire et une version cryptée séparée? Cela ne va-t-il pas à l'encontre du but? Ou est-ce que je fais quelque chose de mal ici? Mon code est similaire à ceci ...
public string filename = "test.xml";
using(FileStream input = new FileStream(filename, FileMode.Open, FileAccess.Read))
using(FileStream output = new FileStram(filename, FileMode.Open, FileAccess.Write))
using(....all the crypto stream and transform stuf...)
{
...do the encryption....
}
Cela touche à un autre problème: votre fichier n'est pas sûr si l'attaquant a accès à votre ordinateur en cours d'exécution.Si vous souhaitez crypter le fichier, vous devez vous assurer que les octets non cryptés ne touchent jamais le disque dur. Si vous ouvrez votre business plan super secret, toutes sortes de fichiers temporaires vont être écrits sur le disque que vous ne pourrez jamais nettoyer. Si vous cherchez à protéger un fichier, vous avez vraiment besoin d'un cryptage complet. – TwentyMiles