public ContactManager(Dossier dossierRoot) { DossierRoot = dossierRoot; Current = DossierRoot; Parent = DossierRoot; FabriqueSerialisation = new FabriqueSerialisation(); }
public void ajouterdossier(string nomDossier) { Dossier nvoDossier = new Dossier(nomDossier); Current.ListeDossier.Add(nvoDossier); Parent = Current; Current = Current.ListeDossier.ElementAt(Current.ListeDossier.Count - 1); Console.WriteLine("\nDossier '" + nvoDossier.Nom + "' ajouté sous " + Parent.Nom + " en position " + Parent.ListeDossier.Count + "."); }
public override void Serialiser(Dossier dossier) { //Sauvegarde StreamWriter stream = new StreamWriter(@"C:\Users\" + Environment.UserName + @"\Documents\ContactManagerSerialiserXML.db"); XmlSerializer serializer = new XmlSerializer(typeof(Dossier)); serializer.Serialize(stream, dossier); stream.Close(); Console.WriteLine(dossier.Nom + " est serialiser dans le fichier " + @"C:\Users\" + Environment.UserName + @"\Documents\ContactManagerSerialiserXML.db"); Crypter(); }
static void Main(string[] args) { //Création ou Récupération de Root bool fichierExist = false; string fichierSerialiserXML = @"C:\Users\" + Environment.UserName + @"\Documents\ContactManagerSerialiserXML.db"; string fichierSerialiserBinaire = @"C:\Users\" + Environment.UserName + @"\Documents\ContactManagerSerialiserBinaire.db"; string typeSerialisation = ""; if (File.Exists(fichierSerialiserXML) || File.Exists(fichierSerialiserBinaire)) { if ((File.Exists(fichierSerialiserXML) && !File.Exists(fichierSerialiserBinaire)) || (File.Exists(fichierSerialiserXML) && File.Exists(fichierSerialiserBinaire))) { typeSerialisation = "XML"; } else if (!File.Exists(fichierSerialiserXML) && File.Exists(fichierSerialiserBinaire)) { typeSerialisation = "Binaire"; } //Console.WriteLine("typeSerialisation : " + typeSerialisation); ContactManager m = new ContactManager(); m.FabriqueSerialisation.CreerSerialisation(typeSerialisation); Root = m.FabriqueSerialisation.TypeSerialisation.DecrypterDeserialiser(); fichierExist = true; if (Root == null) { return; } } else { Root = new Dossier("Root"); } manager = new ContactManager(Root); if (fichierExist) { Dossier current = manager.DossierRoot; while (current.ListeDossier.Count > 0) { manager.Parent = current; current = current.ListeDossier[current.ListeDossier.Count - 1]; } manager.Current = current; } //Console.WriteLine("Parent : " + manager.Parent.Nom); //Console.WriteLine("Current : " + manager.Current.Nom); //Affichage menu afficherMenu2(); //Console.WriteLine("\n\nAppuyez sur entrée pour quitter!"); //Console.ReadLine(); }
public static Dossier recuperer() { //Chargement XmlSerializer deserializer = new XmlSerializer(typeof(Dossier)); StreamReader stream = new StreamReader(@"C:\Users\" + Environment.UserName + @"\Documents\ContactManagerSerialiserXML.db"); Dossier _rootDeserializer = (Dossier)deserializer.Deserialize(stream); stream.Close(); return(_rootDeserializer); }
public override void Serialiser(Dossier dossier) { //Sauvegarde FileStream mFile = new FileStream(fichierBinaireSerialiser, FileMode.Create); BinaryFormatter mS = new BinaryFormatter(); mS.Serialize(mFile, dossier); mFile.Close(); Console.WriteLine(dossier.Nom + " est serialiser dans le fichier " + fichierBinaireSerialiser); Crypter(); }
public override Dossier DecrypterDeserialiser() { string fichierCrypte = @"C:\Users\" + Environment.UserName + @"\Documents\ContactManagerSerialiserXMLCrypter.db"; FileStream stream = new FileStream(fichierCrypte, FileMode.Open, FileAccess.Read); DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider(); //Décryptage de la clé FileStream mCleFile = new FileStream(@"cle_xml.code", FileMode.Open); BinaryFormatter mSC = new BinaryFormatter(); string CLE = (string)mSC.Deserialize(mCleFile); mCleFile.Close(); string cle = ""; int tentative = 3; do { Console.WriteLine("Saisir la clé de décryptage : "); cle = Console.ReadLine(); if (!cle.Equals(CLE)) { Console.WriteLine("Clé erronnée, veuillez saisir une clé correcte!"); Console.WriteLine("Il vous reste " + --tentative + " tentatives"); if (tentative == 0) { Console.WriteLine("Vous avez épuisé le nombre de tentatives, vous n'avez pas l'autorisation d'accéder au fichier!"); break; } } } while (!cle.Equals(CLE) && tentative != 0); if (!cle.Equals(CLE)) { Console.WriteLine("Vous n'avez pas saisi la bonne clé de decryptage, nous n'avez pas le droit d'accéder au fichier"); Console.WriteLine("La clé était : " + CLE); return(null); } cryptic.Key = ASCIIEncoding.ASCII.GetBytes(CLE); cryptic.IV = ASCIIEncoding.ASCII.GetBytes(WindowsIdentity.GetCurrent().User.ToString().Substring(0, 8)); CryptoStream crStream = new CryptoStream(stream, cryptic.CreateDecryptor(), CryptoStreamMode.Read); StreamReader reader = new StreamReader(crStream); string data = reader.ReadToEnd(); //Affichage Console.WriteLine("Le fichier " + @"C:\Users\" + Environment.UserName + @"\Documents\ContactManagerSerialiserXMLCrypter.db a bien été décrypter !"); //Console.WriteLine("La chaine decryptée est : " + data); //Déserialisation XmlSerializer deserializer = new XmlSerializer(typeof(Dossier)); StreamReader stream2 = new StreamReader(@"C:\Users\" + Environment.UserName + @"\Documents\ContactManagerSerialiserXML.db"); Dossier _rootDeserializer = (Dossier)deserializer.Deserialize(stream2); stream2.Close(); Console.WriteLine("Le fichier " + @"C:\Users\" + Environment.UserName + @"\Documents\ContactManagerSerialiserXMLCrypter.db a bien été déserialiser !"); _rootDeserializer.afficher(0); reader.Close(); stream.Close(); return(_rootDeserializer); }
public virtual void Serialiser(Dossier dossier) { }