MD5 et unicité

MD5 et unicité - SQL/NoSQL - Programmation

Marsh Posté le 08-12-2005 à 12:13:26    

Bonjour à tous,
 
j'ai une petite question sur le MD5. Je mets ca dans SQL car ce sera lié à la base. Mais c'est d'ordre général.
 
Je vous explique le contexte. Je stocke au sein d'un site un nombre n de photos. Les noms (pour le moment) se suivent
avec un increment de 1, comme leurs enregistrements liés dans la base. Mon souci est de rendre difficile la tache à tout
outils voulant recuperer ces photos en masse. Le mieux est de renommer les noms de fichiers histoire qu'il n'y ait plus de suite.
 
J'ai pensé au MD5. Par j'ai une contrainte qui est l'unicité. Je ne peux pas avoir 2 photos portant le meme nom. Ce qui es logique.
D'où ma question. Je ne connais pas suffisement le MD5 pour pouvoir determiner à partir de quel moment l'on obtient des recouvrements de clés. Est-ce que quelqu'un aurait des infos là-dessus? Mon objectif est de pouvoir indexer 1 000 000 000 de photos
sans recouvrement. Cette valeur est large je sais :D
 
:jap:


---------------
MZP est de retour
Reply

Marsh Posté le 08-12-2005 à 12:13:26   

Reply

Marsh Posté le 08-12-2005 à 12:24:55    

Vu qu'il y a des plusisuers failles de recouvrement qui ont été découvertes et exploitées, la limite théorique n'est plus valable. Il faudrait consulter des articles sur ce sujet pour savoir dans quelles conditions le risque de recouvrement augmente.

Reply

Marsh Posté le 08-12-2005 à 12:26:32    

c'est là ma question. Je n'ai pas encore trouvé de sources sur le sujet.


---------------
MZP est de retour
Reply

Marsh Posté le 08-12-2005 à 12:42:24    

gizmo a écrit :

Vu qu'il y a des plusisuers failles de recouvrement qui ont été découvertes et exploitées, la limite théorique n'est plus valable. Il faudrait consulter des articles sur ce sujet pour savoir dans quelles conditions le risque de recouvrement augmente.


Nan mais les collisions c'est normal hein, c'est inhérent au hachage puisque la taille du domaine de sortie est inférieur à la taille du domaine d'entrée, on a nécessairement un mapping one to many.
 
Une faille dans un algo de hachage, c'est quand le nombre d'opérations pour trouver une collision est largement inférieur (de plusieurs ordres de grandeur) au nombre de collisions théoriques "brute force", et là effectivement MD5 a de grosses failles
 
Enfin bon la limite théorique du MD5 ça reste quand même 340282366920938463463374607431768211456, je doute qu'un milliard de photos réussisse à générer des collisions [:matleflou]  
 
Mais bon si c'est pas suffisant, il y a SHA-1 (1461501637330902918203684832716283019655932542976) valeurs, failles découvertes et collisions générables en "seulement" 2^63 opérations (brute force théorique: 2^80)
 
Et si c'est toujours pas suffisant, les algos de la famille SHA-2 (SHA-224, SHA-256, SHA-384, and SHA-512) qui vont de 26959946667150639794667015087019630673637144422540572481103610249216 (SHA-224) à 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096 (SHA-512) combinaisons et chez lesquels on a pas encore découvert de failles (et qui doivent remplacer SHA-1 d'ici 2010 selon les directives du NIST)


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 08-12-2005 à 13:47:28    

Je pense que je vais rester au MD5 alors. Donc pour conclure la chose, meme si le MD5 ne garantie pas l'unicité (hashage, normal quoi), un echantillon de 1 000 000 000 de valeur qui se suivent ont aucunes chance d'entrer en collision.
 
merci bien pour vos reponses, je vais pouvoir aller vers cette solution :jap:


---------------
MZP est de retour
Reply

Marsh Posté le 09-04-2006 à 17:43:07    

Bonjour, j'aimerais savoir si vous connaissez un logiciel permettant de renommer les fichiers en masse avec leurs codes MD5... ça me serait tres utile.. merci d'avance...

Reply

Marsh Posté le 10-04-2006 à 15:58:07    

SpyLINK => sous kel OS ton truc ?
 
 
renaissance d'un vieux topic ;)


---------------
PeK
Reply

Marsh Posté le 10-04-2006 à 17:20:43    

mysql permet de coder une donnée en md5. Après, t'as plu qu'à récupérer cette valeur calculée et l'utiliser pour renommer ton fichier :)

Reply

Marsh Posté le 16-04-2006 à 00:15:22    

Sous windows XP... mais j'aimerais que le logiciel le fasse automatiquement, parce que je le fais manuellement mais c'est tres long suivant le nombre de fichiers... Merci d'avance...

Reply

Marsh Posté le 16-04-2006 à 10:13:37    

La fonction de MD5 de mysql existe aussi bien dans la version windows que linux ou tout autre OS pour lequel MySql existe. Donc, ce que je vient de dire avant marche aussi bien sous Windows Xp, que linux...

Reply

Marsh Posté le 16-04-2006 à 10:13:37   

Reply

Marsh Posté le 16-04-2006 à 14:09:16    

Reply

Marsh Posté le 18-04-2006 à 04:44:13    

En fait, je recherche un soft capable de renommer en masse des fichiers avec leurs codes MD5... Sous win xp...

Reply

Marsh Posté le 18-04-2006 à 09:45:51    

en php, c'est facile à faire :)

Reply

Marsh Posté le 28-04-2006 à 08:58:09    

je n'y connais rien en PHP, quelqu'un pourrait m'aider???
Merci d'avance...

Reply

Marsh Posté le 28-04-2006 à 11:01:09    

spylink a écrit :

En fait, je recherche un soft capable de renommer en masse des fichiers avec leurs codes MD5... Sous win xp...


 
Moi, quand je veux renommer des fichiers en masse sous XP j'utilise Excel. J'importe le "dir", je bricole mes formules pour avoir le nouveau nom, je rajoute devant "mv" et j'exporte ça en texte que je renomme en ".bat"
Le pb, c'est que j'ai pas beaucoup trouvé d'outil qui me permette d'avoir le MD5 d'un fichier. Cependant, il y en a un qui se nomme "fileAlizer" qu'on trouve ici http://www.safer-networking.org. Le pb c'est qu'il te faudra, pour chaque fichier, recopier la chaîne MD5.
 
En PHP, comme l'a dit "rufo", c'est très facile (une boucle et un affichage). Le pb c'est qu'il te faudra un moteur php pour interpréter ton code et un serveur web Apache pour l'afficher. Et si tu connais pas cette technologie qui vient de Linux, t'auras du mal à la mettre en place. Mais si t'es tenté, alors t'as
- easyphp qui est ici http://www.easyphp.org
- xamp qui est ici http://www.apachefriends.org/fr/xampp.html
 
Ou alors, autre solution, si tu as un compte chez un hébergeur qui propose php comme "free" tu utilises cet hébergement pour faire ta moulinette ou tu utilises le compte d'un pote...
 

cinocks a écrit :

Je vous explique le contexte. Je stocke au sein d'un site un nombre n de photos. Les noms (pour le moment) se suivent avec un increment de 1, comme leurs enregistrements liés dans la base. Mon souci est de rendre difficile la tache à tout outils voulant recuperer ces photos en masse. Le mieux est de renommer les noms de fichiers histoire qu'il n'y ait plus de suite.


Tu te donnes beaucoup de mal pour pas grand chose (je présume que "cinocks" et "spylink" sont la même personne). Avec FlashGet par exemple, qui est un téléchargeur de masse qui s'intègre dans les navigateurs, il suffit d'aller sur une page avec des photos, de faire "clic droit => "télécharger tout avec FlashGet" pour avoir directement et dans un dossier prévu à l'avance toutes les images de la page. et c'est pas leur nom qui posera problème vu qu'il sera très facile de les re-renommer comme je l'ai dit au début avec Excel (surtout que chaque nom sera de 32 caractères, taille de la chaîne MD5). Et sinon, un simple aspirateur de site recopiera chez l'internaute ton arborescence entière...


Message édité par Sve@r le 28-04-2006 à 11:09:40

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 28-04-2006 à 11:26:06    

pourquoi tu récuperes pas l'heure en seconde de ton serveur a l'instant ou tu renomes les photos et tu ajoutes l'incrément biensur pr etre sur !  
 
c'est super simple et ca marche super bien !

Reply

Marsh Posté le 28-04-2006 à 12:11:08    

mims1664 a écrit :

pourquoi tu récuperes pas l'heure en seconde de ton serveur a l'instant ou tu renomes les photos et tu ajoutes l'incrément biensur pr etre sur !  
 
c'est super simple et ca marche super bien !


 
Ben il voulait des noms qui ne se suivent pas. A la limite, on peut y rajouter un "random". Mais comme je l'ai dit, c'est beaucoup de travail pour pas grand chose...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 28-04-2006 à 14:24:09    

je ne suis pas "cinocks"... mais j'utilise ça pour mes fichiers perso... mes images en particuliers... le but premier était d'éviter les doublons que ce soit au niveau du contenu  ou du nom de fichier... un programme faisant ça ne devrait pas etre difficile a compiler....

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed