Md5 et System.Security.Cryptography [Résolu]

cs_User8 30 Messages postés jeudi 24 juillet 2008Date d'inscription 13 novembre 2012 Dernière intervention - 12 août 2009 à 17:43 - Dernière réponse : f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention
- 13 août 2009 à 15:58
Hello,

Je cherche à utiliser l'objet System.Security.Cryptography.MD5CryptoServiceProvider afin d'effectuer un hashage sur un ensemble de fichiers.

Je concatène toutes les données de mes fichiers dans un TMemoryStream et maintenant je souhaiterai calculer ma valeur de hashage sur le contenu de ce stream.
HashedData := CreateOleObject('System.Security.Cryptography.MD5CryptoServiceProvider');
   
for bou:=0 to (FluxTemp.size)-1 do
Begin
       FluxTemp.ReadBuffer(Buffer, 1);
       HashedData.HashCore(IntToStr(buffer));
End;

Result := HashedData.HashFinal;

A l'exécution, j'ai une erreur car HashCore n'est apparemment pas reconnu.

Pour info, j'avais développé cette méthode en utilisant CAPICOM. Mais CAPICOM n'est plus maintenu et microsoft conseille de passer à System.Security.Cryptography.

Quelqu'un aurait il une idée pour résoudre ce problème?
Afficher la suite 

Votre réponse

4 réponses

f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 13 août 2009 à 01:40
+3
Utile
utilise mon API TinyHash comme le suggere rt15.

tu aura accés a MD4, MD5 et SHA1, elle te fournira aussi des fonctions pour le hash de stream, de fichier, de chaine etc.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de f0xi
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 12 août 2009 à 18:30
+1
Utile
Salut,

Tu as vérifié HashedData, retourné par CreateOleObject ?
Il est important de vérifier les valeurs des retours de fonctions quand elles ont une chance d'échouer, ce qui est le cas ici.

System.Security.Cryptography.MD5CryptoServiceProvider, c'est pas du COM, c'est du .NET (Techno pseudo-interprétée). Microsoft s'est peut être arrangé pour que l'on puisse l'utiliser via COM, mais c'est pas forcé.

Tu as des sources MD5 pleins ce site. Regarde ici ou .
Commenter la réponse de cs_rt15
cs_User8 30 Messages postés jeudi 24 juillet 2008Date d'inscription 13 novembre 2012 Dernière intervention - 13 août 2009 à 10:27
0
Utile
En effet, l'API TinyHash est très intéressante! Les fonctions de hashage de advapi32.dll sont très faciles d'utilisation. Existe-il une doc sur les autres fonctionnalités de cette dll?

Juste une petite question, advapi32.dll est présent sur tous les systèmes windows?
Commenter la réponse de cs_User8
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 13 août 2009 à 15:58
0
Utile
les autres fonctions de cryptage peuvent être interessante oui, sinon logiquement oui, advapi32.dll doit etre presente sur tout les windows > NT4, 2000, XP, 2003, Vista, 2008 et 7.
Commenter la réponse de f0xi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.