Md5 et System.Security.Cryptography

Résolu
cs_User8
Messages postés
30
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
13 novembre 2012
- 12 août 2009 à 17:43
f0xi
Messages postés
4205
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
12 mars 2022
- 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?

3 réponses

f0xi
Messages postés
4205
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
12 mars 2022
38
13 août 2009 à 01:40
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.
3
cs_User8
Messages postés
30
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
13 novembre 2012

13 août 2009 à 10:27
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?
0
f0xi
Messages postés
4205
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
12 mars 2022
38
13 août 2009 à 15:58
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.
0