Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
746 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  clé unique pour identifier un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

clé unique pour identifier un fichier

n°679098
patachou
Posté le 21-03-2004 à 02:54:21  profilanswer
 

Bonjour a tous,
Je cherche a trouver une fonction java qui me permettrai d'identifier un fichier de facon unique sans se fier à son path ni même à son nom. C'est a dire que 2 fichiers, de nom different et pas placé au meme endroit sur le disque auront la meme clé si leur contenu est identique... Je pense qu'une fonction dehachage comme celle doit deja exister, si vous la connaissez ca avancerai bien mon projet.
Merci d'avance :)

mood
Publicité
Posté le 21-03-2004 à 02:54:21  profilanswer
 

n°679099
nraynaud
lol
Posté le 21-03-2004 à 03:03:29  profilanswer
 

précise pourquoi tu veux utiliser ça, j'ai l'impression que tu pars dans une direction douteuse (MD5 ou inode).


---------------
trainoo.com, c'est fini
n°679100
patachou
Posté le 21-03-2004 à 03:25:39  profilanswer
 

je veux pouvoir identifier un fichier sur le réseau. J'ai un projet pour les cours c'est de faire un logiciel de partage de fichier. J'aimerai donc reconnaitre un fichier en fonction de son contenu et pas de son chemin... Voilà pourquoi je veux utiliser ca.

n°679116
nraynaud
lol
Posté le 21-03-2004 à 09:52:01  profilanswer
 

oké, algo de hachage alors, MD5 par exemple.


---------------
trainoo.com, c'est fini
n°679135
uriel
blood pt.2
Posté le 21-03-2004 à 10:48:47  profilanswer
 

pareil :jap:


---------------
IVG en france
n°679141
darklord
You're welcome
Posté le 21-03-2004 à 11:08:19  profilanswer
 

Tiens y a eu un topic similaire il y a quelques semaines mais je ne le retrouve pas :/

n°679659
nerisson
Pic-pic
Posté le 22-03-2004 à 09:46:28  profilanswer
 

Attention quand meme: si 2 fichiers ont un code de hashage differents, ils sont differents. Mais si ils ont code identique, ca ne veut pas forcement dire dire que ce sont les memes fichiers...


---------------
Light is right
n°680094
darklord
You're welcome
Posté le 22-03-2004 à 14:33:20  profilanswer
 

nerisson a écrit :

Attention quand meme: si 2 fichiers ont un code de hashage differents, ils sont differents. Mais si ils ont code identique, ca ne veut pas forcement dire dire que ce sont les memes fichiers...


 
bin c'est l'aglo de hashage qui est mauvais alors


---------------
Just because you feel good does not make you right
n°680096
uriel
blood pt.2
Posté le 22-03-2004 à 14:34:05  profilanswer
 

darklord a écrit :


 
bin c'est l'aglo de hashage qui est mauvais alors


 
il a raison pour md5 mais la probabilite que ca arrive est infime


---------------
IVG en france
n°680099
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 22-03-2004 à 14:36:21  profilanswer
 

darklord a écrit :


bin c'est l'aglo de hashage qui est mauvais alors


Bin non :??: Le hashage, de base, il va partir sur un modulo (2^128 pour MD5, je crois), donc y a forcément une probabilité un jour que 2 fichiers différents aient le même hashage.
De toute façon, pour passer d'un fichier de 3 Mo à un hashage de 128 bits, t'es obligé d'avoir de la perte d'infos. Ou alors t'as trouvé ZE algo de compression ultime et tu m'intéresses [:ddr555]

mood
Publicité
Posté le 22-03-2004 à 14:36:21  profilanswer
 

n°680103
darklord
You're welcome
Posté le 22-03-2004 à 14:37:43  profilanswer
 

Taiche a écrit :


Bin non :??: Le hashage, de base, il va partir sur un modulo (2^128 pour MD5, je crois), donc y a forcément une probabilité un jour que 2 fichiers différents aient le même hashage.
De toute façon, pour passer d'un fichier de 3 Mo à un hashage de 128 bits, t'es obligé d'avoir de la perte d'infos. Ou alors t'as trouvé ZE algo de compression ultime et tu m'intéresses [:ddr555]


 
et les coco, merci de me prendre pour un neuneu. J'ai jamais parler de MD5 moi hein :o
 
et puis bon c'est clair que si il fait un hash de 128bits sur un fichier de 3mo faut pas trop rêver ...
 
La seule chose que je voulais dire c'est que si la probabilité qu'un meme has correspondent à deux fichier différents soit trop 'important' (=risque d'arriver) c'est que l'algo est inadapté à l'utilisation, stou :o


Message édité par darklord le 22-03-2004 à 14:38:36

---------------
Just because you feel good does not make you right
n°680107
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 22-03-2004 à 14:39:46  profilanswer
 

darklord a écrit :


et les coco, merci de me prendre pour un neuneu.  


Ba vu comment tu maîtrises StringTokenizer, j'me méfie maintenant [:dawao]

n°680117
nerisson
Pic-pic
Posté le 22-03-2004 à 14:45:32  profilanswer
 

Moi je voulais juste dire qu'il peut effectivement utiliser un algo de hashage pour etre sur que 2 fichiers sont differents.
Mais si l'algo de hash dis que 2 fichiers sont egaux, alors il n'y a pas d'autre moyen de comparer ces 2 fichiers octet par octet afin d'etre sur qu'ils sont egaux.
C'est marrant mais je m'etait pose la question il y a quelques jours pour un probleme assez similaire. J'ecris un programme qui a besoin d'effectuer enormement de comparaison de chaines et je cherchais la methode la plus rapide pour le faire. Je suis alle fouiner dans le code de la classe String et j'ai regarde l'implementation de la methode equals() et j'ai ete surpris de voir qu'ils n'utilisent pas le code de hashage pour faire la comparaison... Si quelqu'un peut me dire pourquoi je suis preneur  :)


Message édité par nerisson le 22-03-2004 à 14:50:22

---------------
Light is right
n°680119
uriel
blood pt.2
Posté le 22-03-2004 à 14:46:37  profilanswer
 

darklord a écrit :


et les coco, merci de me prendre pour un neuneu. J'ai jamais parler de MD5 moi hein :o


 
et quel algo de hashage miraculeux tu utilises?
parce que meme si le hashage est bon, la probabilite infime existe toujours  [:spamafote]


Message édité par uriel le 22-03-2004 à 14:47:44

---------------
IVG en france
n°680145
nraynaud
lol
Posté le 22-03-2004 à 14:56:33  profilanswer
 

nerisson a écrit :

C'est marrant mais je m'ettait pose la question il y a quelques jours pour un probleme assez similaire. J'ecris un programme qui a besoin d'effectuer enormement de comparaison de chaines et je cherchais la methode la plus rapide pour le faire. Je suis alle fouiner dans le code de la classe String et j'ai regarde l'implementation de la methode equals() et j'ai ete suppris de voir qu'ils n'utilisent pas le code de hashage pour faire la comparaison... Si quelqu'un peut me dire pourquoi je suis preneur  :)  

Oué, première chose : toutes les chaines qui apparaissent dans le code source (constantes immédiates) sont "internalized" ce qui veut dire qu'elle ne seron jamais dupliquées en mémoire (les Strings sont immuables) mais que si un veut construire une nouvelle chaine représentant la même séquence de caractères, java réutilisara la chaine déjà existante. Donc comparer ce type de chaines, consiste à comparer des pointeurs.
Ensuite, pour les autres chaines (qui ne sont pas "internalized" ), calculer le hash nécessite de passer sur la chaine une fois (et une seule car le hash est caché), et si les hash sont égaux, de repasser encore une fois, pour vérifier l'égalité, ce qui est plus lent que de s'arrêter au premier caractère différent entre les 2 chaines.


---------------
trainoo.com, c'est fini
n°680147
darklord
You're welcome
Posté le 22-03-2004 à 14:57:49  profilanswer
 

uriel a écrit :


 
et quel algo de hashage miraculeux tu utilises?
parce que meme si le hashage est bon, la probabilite infime existe toujours  [:spamafote]


c'est le mot 'infime' qui m'intéresse. du MD5 avec un fichier de 3go j'ai des doutes que la proba soit infimes.


---------------
Just because you feel good does not make you right
n°680156
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 22-03-2004 à 15:01:23  profilanswer
 

darklord a écrit :


c'est le mot 'infime' qui m'intéresse. du MD5 avec un fichier de 3go j'ai des doutes que la proba soit infimes.


"des" fichiers de 3 Go [:aloy]
La probabilité pour MD5 est de 1 sur 2^128 (la calculatrice de Ouinedoze me dit 3.4028236692093846346337460743177e+38). Perso, ça me semble largement suffisant ne serait-ce que pour un réseau local, où le total de fichiers sur toutes les machines n'arriverait pas à la cheville de ce chiffre [:spamafote]

n°680159
nraynaud
lol
Posté le 22-03-2004 à 15:02:35  profilanswer
 

uriel a écrit :

et quel algo de hashage miraculeux tu utilises?

Hachoir double classique, acier anglais :
http://www.zodiacspco.co.uk/images/ZodiacPictureDirectory2000/Kitchenware/HAC.hachoir.24.400.jpg


---------------
trainoo.com, c'est fini
n°680165
nerisson
Pic-pic
Posté le 22-03-2004 à 15:04:36  profilanswer
 

Taiche a écrit :


"des" fichiers de 3 Go [:aloy]
La probabilité pour MD5 est de 1 sur 2^128 (la calculatrice de Ouinedoze me dit 3.4028236692093846346337460743177e+38). Perso, ça me semble largement suffisant ne serait-ce que pour un réseau local, où le total de fichiers sur toutes les machines n'arriverait pas à la cheville de ce chiffre [:spamafote]


La loi de Murphy tu connais ?  :D


---------------
Light is right
n°680168
nraynaud
lol
Posté le 22-03-2004 à 15:05:32  profilanswer
 

ce nombre [:aloy]
 
par contre, je suis très étonné que Dark ne connaisse rien (ou en tout cas ait de sérieuses lacunes) au hachage, je le croyais plus cultivé que ça.


---------------
trainoo.com, c'est fini
n°680172
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 22-03-2004 à 15:06:29  profilanswer
 

nerisson a écrit :


La loi de Murphy tu connais ?  :D  


Alors forcément, si on se base dessus, smal barré [:ddr555]

n°680173
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 22-03-2004 à 15:06:40  profilanswer
 
n°680179
darklord
You're welcome
Posté le 22-03-2004 à 15:08:30  profilanswer
 

nraynaud a écrit :

ce nombre [:aloy]
 
par contre, je suis très étonné que Dark ne connaisse rien (ou en tout cas ait de sérieuses lacunes) au hachage, je le croyais plus cultivé que ça.


 
 :heink: oui bon ok c'est bien.


---------------
Just because you feel good does not make you right
n°680198
machinbidu​le1974
Do you feel lucky, punk ?
Posté le 22-03-2004 à 15:15:31  profilanswer
 

je sens que ça va dégénérer, donc je plante mon drapeau :D

n°680290
the real m​oins moins
Posté le 22-03-2004 à 15:55:52  profilanswer
 

Taiche a écrit :


Ba vu comment tu maîtrises StringTokenizer, j'me méfie maintenant [:dawao]

[:cupra]
ne rien dire, ne rien dire...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°680291
the real m​oins moins
Posté le 22-03-2004 à 15:56:22  profilanswer
 

DarkLord a écrit :


 
bin c'est l'aglo de hashage qui est mauvais alors

ouais, l'aglo spa terrible :o
vaut mieux du bon vrai chêne massif :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°680293
uriel
blood pt.2
Posté le 22-03-2004 à 15:57:28  profilanswer
 

the real moins moins a écrit :

ouais, l'aglo spa terrible :o
vaut mieux du bon vrai chêne massif :o


 
[:rofl]


---------------
IVG en france
n°680294
darklord
You're welcome
Posté le 22-03-2004 à 15:58:00  profilanswer
 

stack ta race :fou:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  clé unique pour identifier un fichier

 

Sujets relatifs
nom de fichier sans extensionFichier help du language html en français ?
Un bout de code relatif à plusieurs pages dans un fichier à part[VC++] Drag and drop d'un fichier sur une CDialog
[résolu]ouverture fichier excel plus possiblepb vidage contenu fichier en java
Obliger à l'ouverture d'un fichier excel d'enregistrer-sous un nom difLe fichier XML peut contenir des fichier ?
Problème de lecture de fichier avec java[batch] Récupérer le dernier fichier créé d'un répertoire
Plus de sujets relatifs à : clé unique pour identifier un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR