Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DLL - HASH MD5


Information sur la source

Catégorie :Api Windows Niveau : Initié Date de création : 20/06/2004 Date de mise à jour : 22/06/2004 10:06:24 Vu / téléchargé: 5 016 / 322

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

Description

Si comme moi vous avez cherché désespérément une DLL capable de faire du hash MD5, vous aurez sûrement remarqué que c'est presque toujours payant. Alors pour palier à ce problème je vous ais fait une DLL qui fait le hash MD5 d'un fichier ou d'une chaine de caractère.
4 Fonctions :
HashFile PROC FileName:DWORD, OutBuff:DWORD, BuffSize:DWORD

Cette fonction réalise le hash du fichier FileName, et stoque le hash ( brut ) dans la zone mémoire OutBuff. Cette zone doit avoir une taille de 16 octets minimum, pour stoquer le hash.
Cette fonction retourne : 0 si erreur, 1 si réussi



HashStr PROC StrToHash:DWORD, OutBuff:DWORD, BuffSize:DWORD

Cette fonction réalise le hash du texte StrToHash, et stoque le hash ( brut ) dans la zone mémoire OutBuff. Cette zone doit avoir une taille de 16 octets minimum, pour stoquer le hash.
Cette fonction retourne : 0 si erreur, 1 si réussi



ConvertHash2Str PROC HashIn:DWORD, HashOut:DWORD

Cette fonction converti le hash sorti de la première en chaine de caractère. Le buffer pointé par HashOut doit avoir une taille de 33 caractères minimum.


HashFilePart PROC hFile:DWORD, PartSize:DWORD, HashOut:DWORD

Cette fonction permet de hasher une partie d'un fichier. On lui donner un Handle faire un fichier ouvert, la taille de la partie à hasher et l'offset de retour pour le hash.
 

Conclusion

Je vais faires des mises à jour et ajouter plusieurs fonctions à cette DLL( notement le hash asynchrone, pour être utilisé dans une application qui a une fenêtre et donc un handle ).
Je détaillerais tout ça dans les prochaines mises à jour.

Si vous avez besoin d'aide, n'hésitez pas à me mailler( voir dans la source ) :)
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • HashLib.asmTélécharger ce fichier [Réservé aux membres club]Voir ce fichier10 522 octets
  • HashLib.defTélécharger ce fichier [Réservé aux membres club]99 octets
  • HashLib.dllTélécharger ce fichier [Réservé aux membres club]4 096 octets
  • hashlib.incTélécharger ce fichier [Réservé aux membres club]256 octets
  • HashLib.libTélécharger ce fichier [Réservé aux membres club]4 066 octets
  • MakeIt.batTélécharger ce fichier [Réservé aux membres club]Voir ce fichier429 octets

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Dean le 25/06/2004 00:23:55

Cette source m'a l'air intéressante pour aborder le hash (via les fonctions API) ; quant à ceux qui chercheraient une *implémentation* ASM de MD5, je tiens à préciser que roy et WiteG ont publié respectivement un fichier soure et une DLL (disponibles quelque part sur le WWW...).

Il peut aussi etre intéressant d'aller ici : http://board.win32asmcommunity.net

signaler à un administrateur
Commentaire de Vermifuge le 25/06/2004 09:28:09

Merci pour le site, je connaissais pas :s
Sinon, j'ais pas trouvé de DLL MD5 gratuite sur le net, ça veut pas dir que ça existe pas, mais moi jlé ais pas trouvées :(
Merci pour l'info et le site

signaler à un administrateur
Commentaire de Dean le 26/06/2004 12:06:13

Voilà qui peut éventuellement servir :

http://www.witeg.cad.pl/crypto/md.zip
http://win32assembly.online.fr/files/md5asm.zip

Pour la première, il y a juste une DLL mais on peut éventuellement ripper le code. :)
Sinon un exemple d'implémentation conforme à la RFC 1321 est fourni dans le deuxième (roy).

signaler à un administrateur
Commentaire de Vermifuge le 26/06/2004 13:47:19

Merci pour tout ^^

signaler à un administrateur
Commentaire de theXman le 28/06/2004 06:00:54

Bien vu les gars

thX

signaler à un administrateur
Commentaire de Poly Progr@ms le 19/01/2005 18:42:22

Bijour !

Merci pour cette super DLL. J'essaie de l'utiliser dans un programme VisualBASIC, et j'ai fait ainsi :

Private Declare Function HashFile Lib "md5" (ByVal FileName As String, ByRef OutBuff As Any, ByVal BuffSize As Long) As Integer

Seulement, si j'essaie d'hacher un fichier (donc je suis sûr de l'existence), il me renvoie "0", et le OutBuff est vide, bien sûr.

Est-ce que quelqu'un saurait me dire ce que j'ai fait de travers ?

Merci d'avance, @+

signaler à un administrateur
Commentaire de Vermifuge le 19/01/2005 22:11:35

Dsolé, là je vois pas ton erreur :s
Mais le VB c'est pas mon truc. Tu peux pas faire un débug de ton programme et entrer dans la DLL pour voir à quel moment elle quitte ?

signaler à un administrateur
Commentaire de BruNews le 19/01/2005 23:22:10 administrateur CS

Salut,
je n'ai pas trop le temps d'analyser le prob avec VB, par contre tu peux jeter un oeil ici:
http://www.vbfrance.com/code.aspx?id=18494
il y a code complet ASM de la dll que j'avais faite pour VB avec exemples d'utilisation.
En espérant que ça t'aidera.

signaler à un administrateur
Commentaire de Poly Progr@ms le 24/01/2005 18:58:33

Bon, j'ai continué mes recherches.

Apparement, le type DWORD et les String de VB sont pas trop compatibles. Mais il semble qu'un LPSTR marcherait.

Je sais que je vais peut-être en demandé un peu beaucoup, mais serait-il envisageable de faire une version avec un LPSTR en paramètres ?

Je n'ai trouvé aucune autre solution pour le MD5 jusqu'à maintenant, et bon, hasher un fichier de 700 Mo en 3 jours, ça me plait pas trop, surtout pour un système de partage de fichiers... ;)

Au cas où ça inquieterait quelqu'un, mon programme sera released sous GPL & donc le code source sera dispo.


Merci d'avance :)

signaler à un administrateur
Commentaire de Vermifuge le 24/01/2005 19:24:55

Effectivement, LPSTR ça doit marcher normalement, enfin, avec la synthaxe C ça fonctionne ( sûr ).

@+
Vermi

signaler à un administrateur
Commentaire de Poly Progr@ms le 25/01/2005 18:59:20

Ok, est-ce qu'il y a beaucoup de modifs à faire au niveau du code ? Et aurais-tu le temps de me recompiler la DLL ?

Je n'ai pas de compilateur ASM & je ne sais pas comment faire.

signaler à un administrateur
Commentaire de Vermifuge le 25/01/2005 19:03:15

Donne moi ton mail, et je t'envois la DLL compilée, avec le fichier .lib .

@+
Vermi

signaler à un administrateur
Commentaire de Poly Progr@ms le 25/01/2005 20:19:16

Voilà, je te l'ai envoyé par message privé.

signaler à un administrateur
Commentaire de Neo_Fr le 03/01/2007 21:20:59

Salut tt le monde,
Est ce que quelqu'un pourrais m'expliquer comment utilser cette
dll sou Dev-C++?
Merci

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,140 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.