Diffing

Soyez le premier à donner votre avis sur cette source.

Vue 5 939 fois - Téléchargée 624 fois

Description

Cela fait (très) longtemps que je n'avais pas laissé de source, aussi ai-je décidé de mettre quelque chose de consistant et d'intéressant.
De toute maniere, c'est a vous de juger.
Bref
Voila donc la source d'un prog de DIFFING
"Mais qu'est ce que le diffing ?" me direz vous
Et bien le diffing est une méthode de protection des données.
Je m'explique: lorsque l'on "diffe" un fichier, celui ci est "haché", via une routine de hachage, technique complexe d'echantillonage de fichier.
En bref, une empreinte de 32 octets est prise sur le fichier, et celle ci ne correspondra qu'a lui et a lui seul (et cela grace a l'anti-collision poussée implémentée dans la routine de hachage MD5 utilisée ici)
Si jamais un seul des bits du fichier est modifié (que le fichier fasse 1 Ko ou 1Go), son empreinte sera différente et on pourra alors dire que le fichier a été altéré (par exemple modifié ou réenregistré).
donc si on veux protéger un repertoire sensible de son disque, il suffit de differ tous les fichiers qu'il contient, et ainsi périodiquement vérifier que ceux ci n'ont pas été modifiés.
prenons l'exemple d'une école: les fichiers de notes sont des données sensibles, donc a protéger. Si on diffe ces derniers, la moindre modification de note sera détectée, et l'élève (con) qui aura juste modifié son bulletin (et pas celui des autres) sera grillé en force.
l'avantage de la prise d'empreinte, vous l'aurez bien deviné, c'est la petite taille du fichier d'empreinte final par rapport au nombre de fichier et quelle que soit leur taille..
Je vous propose donc ici une solution de diffing complete.
A savoir:
-prise d'empreinte de fichier unique
-vérification de l'intégrité d'un fichier unique a partir du fichier d'empreinte et du fichier a vérifier.
-prise d'empreinte d'un répertoire entier (attention, ne gère pas encore les sous-répertoires)
-vérification de l'intégrité d'un repertoire a partir du fichier d'empreinte (nommé a chaque fois "diff.emp") et du répertoire a vérifier.

le diffing d'un répertoire s'effectue de maniere suivante:
-on prend l'empreinte de chaque fichier du repertoire
-on les place toutes dans un fichier d'empreinte unique
QUE L'ON PROTEGE ABSOLUMENT (sinon tout tombe a l'eau, ce fichier NE DOIT PAS POUVOIR ETRE MODIFIE)

lors de la vérification
on prend une nouvelle empreinte de chaque fichier du repertoire
on la compare avec l'ancienne
si elle est différente => fichier non valide
si elle est identique => fichier non altéré

voila
j'ai fait en sorte de faire une interface claire et intuitive

C'est a mon avis (mais surtout contredisez moi si c pas vrai) la seule soltuion de diffing existant en VB
le diffing n'est (helas) pas tres utilisé.
le principe et la réalisation ne sont pas compliqués

L'algo de hachage est une implémentation du MD5 (hachage numérique) qui n'est pas de moi, c'est une DLL dont j'utilise une fonction
le copyright de cet algo est dans ma source et dans un fichier texte dans le zip

Network Working Group R. Rivest
Request for Comments: 1321 MIT Laboratory for Computer Science
and RSA Data Security, Inc.
April 1992

j'utilise d'autre part un OCX tres bien foutu ma foi de recherche de fichiers trouvé sur VBfrance et réalisé par "fou volant13" que je remercie grandement au passage.

Donc si ça vous plait, si vous détestez, si vous comprenez pas ou que j'ai fait une erreur, laissez un message!

PS: vous pouvez toujours tenter de differ tout un disque mais je garantie pas que ça plante pas
PPS: n'oubliez pas de réfferencer la dll et le composant "recherche.ocx"

Conclusion :


Merci d'avance

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
44
Date d'inscription
samedi 29 novembre 2003
Statut
Membre
Dernière intervention
19 mars 2011

G mis 10 puisque tout c'est cretin on oublier de mettre une note loool. Tres belle source
Messages postés
46
Date d'inscription
vendredi 21 décembre 2001
Statut
Membre
Dernière intervention
23 juillet 2003

merki a tous.....
Messages postés
113
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
3 février 2007

super prog très bien décris même si certains ont trouvé des défauts moi je le trouve simple et utile et ça m'évite d'avoir à le créer..... 10/10 bravo
@+
Messages postés
254
Date d'inscription
jeudi 27 décembre 2001
Statut
Membre
Dernière intervention
5 mars 2006

Oui, cela m'intéresse beaucoup pour un projet en cours. En fait, je n'ai pas non-plus le temps de voir ça ce soir, mais c'est clair que je garde un lien vers ta source. Alors, comme ils diraient chez --- : "A bientôt !"
Messages postés
370
Date d'inscription
lundi 1 avril 2002
Statut
Membre
Dernière intervention
11 février 2010

Interessant Interessant... J'ai pensé comme Doct en lisant ces lignes....
Mais il est vrai qu'il est plus simple de proteger des fichiers de quelque Ko en se les envoyant sur internet par exemple.
Il est deja plus difficile de changer les notes , hacker le compte mail de la personne, changer le diff etc ...

C'est une très bonne idée, qui change des sources que l'on trouve ici !

Je n'ai pas encore regardé le code... mais je le ferai :)
Afficher les 11 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.