Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/08/2010, à 17:23

samυncle

défi amusant (md5)

j'ai trouvé ce problème il y a environ 10 minutes

Le défi est simple, on a un fichier, qui contient des données. Par exemple

Hello world!

Puis on fait le md5 de ce fichier (qu'on appellera test.txt)

jmclemencon@leila-laptop:~/Documents/md5defi$ md5sum test.txt
59ca0efa9f5633cb0371bbc0355478d8  test.txt

et voilà son md5. On va maintenant mettre le md5 dans ce fichier. Le fichier aura donc

Hello world!
59ca0efa9f5633cb0371bbc0355478d8

Maintenant si on refait un md5, il ne sera pas le même que celui du fichier (puisqu'on a rajouté des données), la preuve il donne 0f710b418eab406a860314e6ff706e53. La question, est de trouver un md5 qui correspondera, et donc au final qu'une chaine de caractère contienne son md5

bonne chance (la calculatrice est autorisée tongue)


Hello world

Hors ligne

#2 Le 08/08/2010, à 17:54

nesthib

Re : défi amusant (md5)

tu as 340282366920938463463374607431768211456 (16^32, 3.4e+38) MD5 possibles

tu peux générer un fichier ne contenant que des chiffres hexa pour commencer :

cat /dev/urandom | tr -dc a-f0-9 | head -c xxx > file

ensuite tu testes la somme

MD5SUM=$(md5sum file)

et tu cherches ta chaîne dans le fichier :

grep ${MD5SUM%% *} file

après ça va prendre beaucoup de temps…
reste à déterminer la stratégie en cas d'échec :
- on recommence à zéro
- on change quelques caractères et on recommence la somme
- on ajoute des caractères et on recommence

(avec un fichier de quelques milliards de To tu as tes chances, et il va de soi que ni bash ni nos ordinateurs ne sont adaptés pour faire ça)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne