TINYHASH - MD5, MD4 ET SHA1

cs_lucien Messages postés 82 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 3 juin 2007 - 8 févr. 2007 à 09:53
soldier8514 Messages postés 295 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 24 janvier 2014 - 15 févr. 2013 à 15:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41404-tinyhash-md5-md4-et-sha1

soldier8514 Messages postés 295 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 24 janvier 2014 1
15 févr. 2013 à 15:39
c'est simple il a calculé le md5 d'un fichier de 800 Mo en moins de 2 secondes , je reste bleufé
soldier8514 Messages postés 295 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 24 janvier 2014 1
15 févr. 2013 à 15:17
une vraie tuerie ce code _ merci infiniment !!!
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
4 nov. 2010 à 15:07
Merci Foxi,

j' ai trouvé aussi ce projet qui a l' air interessant:
http://sourceforge.net/projects/tplockbox/

A+
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
4 nov. 2010 à 13:42
sous vista et XP cela fonctionne, par contre, sous Seven ou les versions serveur, je ne sais pas trop.

il faudrait que je regarde si il y a des changements sur cette DLL selon les versions de Windows.
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
4 nov. 2010 à 11:12
Salut Foxi,

j' arrive après la guerre ^^ ... mais j' ai besoin d' utiliser le SHA1 pour des raisons fiscales: le fameux SAFT (exportation des données comerciales vers un fichier xml qui respecte une structure commune à tous les programmes commerciaux).

D' après ce que j' ai lu sur un post sur le forum de developpez.com, il semblerait qu' il y ai des soucis dans l' utilisation de ton source à cause des différentes versions de la dll Windows que t' appelles ...

Ma question est, est-ce que je peux aujourd' hui utiliser ton source sur une appli professionnelle? je suis sous Delphi 2009 et l' appli est destinée à des Pcs avec Win XP et supérieur ...

Merci en tout cas pour ta source,
Maurício
jackalunion Messages postés 128 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 14 juillet 2008
24 juin 2008 à 13:28
j'ai Compris
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
22 févr. 2007 à 21:15
merci foxi
je regarde avec attention tous tes sources mais ça fait bcp à digérer..

@+
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
22 févr. 2007 à 11:22
@ cantador, si ça t'interresse regarde ma permiere source MD5, LE CELEBRE .... gnagnagna.
y'a pas mal d'explication sur ce qu'est un Hash.
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
21 févr. 2007 à 14:42
Ah? non ?
c'est pas possible..merci de la précision..
je me sens nettement mieux.
LOL !!

ma réponse d'adressait à fbaudoux_ir mais c'était aussi un peu afin de tenter d'amorcer une discussion sur le sujet.

ne t'en fait pas tu trouveras bien une autre occasion de nous faire partager à nouveau de ton humour ravageur !

Cantador
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
20 févr. 2007 à 12:20
Cantador,

Je rigolais suite à une autre signification du mot hash : mdrrrr
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
17 févr. 2007 à 16:21
Pour moi le hash, c'est un cryptage mais irréversible à la différence d'un cryptage simple..
autrement lors de la création du hash, il y a perte d'information ce qui empêche de retrouver l'origine.

mais évidemment ce qui est génial est que :
chaine(i)= hash(i)
et si hash(2) = hash(3) alors nécessairement chaine(2)= chaine(3)

et si on oublie son mot de passe, il faut que l'admin détruise le hash et en recrée un autre par défaut (ex : password)et l'utilisateur n'a plus qu'à re-changer son mot de passe.

cela sécurise magistralement les points d'entrée d'une application (enfin du moins pour l'instant et nous avons de la marge..)

bravo à foxi pour ce programme bien construit, utile et très performant grace à l'ajout de sous-programmes en assempbleur.

cantador
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
16 févr. 2007 à 10:24
Le hash c'est quoi ? mdrrrr ^^.

Bonne source f0xi.
fbaudoux_ir Messages postés 2 Date d'inscription samedi 25 décembre 2004 Statut Membre Dernière intervention 12 février 2007
12 févr. 2007 à 09:46
c'est quoi un hash ?
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
11 févr. 2007 à 12:57
la maturité de cirec + la fougue jeunesse inventive de foxi =

un cocktail détonnant pour le plus grand bien de DelphiFr !

cantador
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
9 févr. 2007 à 20:50
en plus j'aime bien le "pour le débutant que je suis" ... genre t'es un noob en delphi toi ... tu te fouterais pas un peu de l'hopital ? ... mmm ... non c'est pas ça ... tu serait pas la charitée qui vole un oeuf de boeuf ? ... mmm pas ça non plus ...

enfin bref ...

maj effectuée.
Utilisateur anonyme
9 févr. 2007 à 19:52
ah ah ah ...
c'est bien connu ... tu leurs donnes le petit doigt ils veulent tout le bras :)
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
9 févr. 2007 à 19:00
vous etes jamais content vous alors :)

je prepare une maj avec tout dedans. resteras plus qu'a faire un HLP.
Utilisateur anonyme
9 févr. 2007 à 12:31
Salut,

en même temps ULong veut dire Usigned Long
et UChar ---> Unsigned Char ... non ?

et tu dis "ç'est homogene et ça permet aussi de voir comment on retranscrit du C en Delphi"

tu pourrais, dans ce cas, donner le lien vers l'original en C ... pour le débutant que je suis!
cs_lucien Messages postés 82 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 3 juin 2007
9 févr. 2007 à 10:01
@Foxi,
merci pour les 12 ko :))

j'étudie aujourd'hui !
Lucien
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
8 févr. 2007 à 19:27
@WhiteHippo : aprés reflexion, je ne vais pas mettre les types d'origines, car ça colerait plus avec les sources C originale, certaines sont avec les Types windows, d'autres avec les types C.
genre pour SHA on as bien ULONG, UINT, UCHAR, mais sur MD4 et MD5 on a Unsigned Char, Unsigned Long ... bref ... ils ont pas chercher midi a quatorze heure pour les "normaliser".
Au moins en restant en type Delphi, ç'est homogene et ça permet aussi de voir comment on retranscrit du C en Delphi, ce qui peu etre bien plus interressant pour les debutants a mon avis, question de point de vue.
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
8 févr. 2007 à 19:19
voila la v1.0.1, y'a encore quelques retouches a faire sur certaines routines (rien de bien mechant, mais qui ne sont pas trés propre je trouve).

@lucien : j'espere que l'ajout des 12Ko de commentaires te seront utiles. :)
cs_lucien Messages postés 82 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 3 juin 2007
8 févr. 2007 à 18:22
@Foxi Merci,
Lucien
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
8 févr. 2007 à 17:01
@Lucien, desolé j'etais un peu préssé d'aller me coucher donc, j'ai poster un peu en version "beta".
je vais de ce pas ajouter quelques trucs pour faciliter la comprehension.

@WhitteHippo, houla bien vus! en meme temps les pointeurs pour MD5 et MD4 ne sont pas utilisés ici, il sont juste la pour la convention.
Sinon oui, c'est une interface pour une API windows, mais ce n'est pas une interface 1:1 (autant dire que j'aurais pas de certif Jedi la dessus :)
mais je prend note de tes remarques et voir ce que je vais faire avec ça :)
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
8 févr. 2007 à 13:08
Je me posais une question :

Vu que c'est une interface pour une pure API windows, ne serait-il pas judicieux d'utiliser les types définis par Microsoft ( ceux de l'unité Windows évidemment :) ?

ULONG, UCHAR, UINT, PUCHAR, etc...

P.S. Je sais ça ne change rien pour le code, c'est juste histoire d'avoir les définitions le plus proche possible de celles données dans la MSDN. Pensons aux débutants !

Cordialement.
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
8 févr. 2007 à 12:51
Hello foxi

une petite erreur s'est glissée dans ton source :
pMD5_CTX = ^MD5_CTX;
et non
pMD5_CTX = ^MD4_CTX;

Cordialement.
cs_lucien Messages postés 82 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 3 juin 2007
8 févr. 2007 à 09:53
Bonjour Foxi,
j'apprécie toujours ton travail, et j'y apprends beaucoup :) c'est vrai, sans vaine flatterie !...
Mais aujourd'hui, j'aurais aimé qu'il y ait un minimum d'explications pour qu'un vieil autodidacte comme moi (et sûrement d'autres...) puisse aller plus loin !!
Merci
Lucien
PS ma requête vient peut-être de n'avoir pas encore lu l'unité, ce que je fais tout de suite...:))
Rejoignez-nous