Serialisation d'un fichier externe

killazf Messages postés 5 Date d'inscription dimanche 10 avril 2011 Statut Membre Dernière intervention 13 juillet 2011 - 10 avril 2011 à 01:21
killazf Messages postés 5 Date d'inscription dimanche 10 avril 2011 Statut Membre Dernière intervention 13 juillet 2011 - 13 avril 2011 à 11:48
Bonjours a tous je crée un nouveau sujet car je n'en est pas trouver ayant de réponse "satisfaisante" sur le site ni sur google.

Voila commençons je souhaite crée un petit logiciel permettant de sécuriser n'importe quelle type de fichier.Par exemple j' aimerais pouvoir choisir une photo/video/musique... sur mon poste et la sérialiser dans un fichier BINAIRE standard.
J aimerai donc savoir si cela possible mais je croit que oui et surtout comment a sérialiser CE fichier puis pour finir s'il est possible après de modifier le code binaire de se fichier

voila merci pour vos futur réponse

4 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
11 avril 2011 à 15:01
Salut

Alors la sérialisation n'a rien à voir avec ce dont tu parles. La sérialisation, c'est le fait de rendre des données indépendantes de la mémoire, c'est-à-dire sans références/pointeurs, afin de pouvoir récupérer ces données sur un autre ordinateur, ou sur le même ordinateur même si les informations en mémoire ont changé.

Tu parles de fichier binaire. Tous les fichiers dont tu parles (photo, vidéo et musique) sont toujours encodés en binaire (sinon ils seraient largement plus volumineux). Par opposition au format binaire, tu as principalement le format ASCII (donc là c'est du texte lisible) et le format XML (qui, au final, est une variante du format ASCII).

Ce que tu souhaites faire, c'est chiffrer (ou, comme ont dit à tord, crypter) ton fichier.
Alors après, tout dépend du chiffrement que tu souhaites utiliser. Il en existe 2 types : le chiffrement symétrique (exemple : DES, AES) et le chiffrement asymétrique (également appelé chiffrement à clé publique ou encore chiffrement à clé privée) (exemple : RSA).
Chiffrement symétrique : Document déchiffré => Clé A => Document chiffré => Clé A => Document déchiffré. On chiffre et on déchiffre avec la même clé
Chiffrement asymétrique : Document déchiffré => Clé A => Document chiffré => Clé B => Document déchiffré. On chiffre et on déchiffre avec une clé différente (l'une est appelée la clé publique et l'autre la clé privée).

De nombreux algorithmes sont directement intégrés au Framework.net, et tu trouveras tout ce que tu veux dessus en cherchant 2 minutes sur Internet.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
killazf Messages postés 5 Date d'inscription dimanche 10 avril 2011 Statut Membre Dernière intervention 13 juillet 2011
11 avril 2011 à 22:33
Merci pour la réponse se que je peu faire mintenanat est plus clair mais cela entrainne une autre question peut-on recuperé le code bnaire des ses fichier afin de le modifier transphormer et si oui comment ?

En tout cas merci
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
12 avril 2011 à 18:31
Bien sûr qu'on peut récupérer le code binaire de ses fichiers. Pour cela, il suffit de faire ça :

FileStream fs = File.Open("blabla.bla", FileMode.Open);
byte[] tab = new byte[100];
int octetsLus = 0;
octetsLus = fs.Read(tab, 0, 100);
fs.Close();

Ce code va charger dans un tableau d'octets (tab) un maximum de 100 octets (moins si le fichier et plus petit) à partir de l'emplacement 0 (le début) du fichier.
Si ton fichier fait 100 octets ou plus, tab sera entièrement rempli, et octetsLus sera égal à 100. Si ton fichier fait, par exemple, 40 octets, seules les 40 premières cases de tab seront remplies, et octetsLus sera égal à 40.

Une fois que tu as ton tableau de byte, tu peux le traiter comme tu le souhaites, avec tous les algorithmes que tu souhaites.

Un petit exemple de chiffrement DES avec la classe intégrée au framework .net : Lien

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
killazf Messages postés 5 Date d'inscription dimanche 10 avril 2011 Statut Membre Dernière intervention 13 juillet 2011
13 avril 2011 à 11:48
Merci pour ces réponses.
0
Rejoignez-nous