[C] Hashage MD5

Fermé
Bakux Messages postés 1195 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 5 juillet 2015 - 6 sept. 2009 à 08:49
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 - 7 sept. 2009 à 18:57
Bonjour,

Je programme en C et je voudrais savoir comment hasher un mot en md5 ?

Merci bcp ^^
A voir également:

12 réponses

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
6 sept. 2009 à 09:00
Si t'es sous Windows, utilise CryptoAPI.
0
Bakux Messages postés 1195 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 5 juillet 2015 188
6 sept. 2009 à 09:03
T'as un lien stp ?
0
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
6 sept. 2009 à 09:17
J'en ai même deux :
- MSDN, LA référence en programmation Windows : https://docs.microsoft.com/en-us/windows/win32/seccrypto/hashing?redirectedfrom=MSDN
- Un code d'exemple sur CPPFrance : https://codes-sources.commentcamarche.net/
0
Bakux Messages postés 1195 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 5 juillet 2015 188
6 sept. 2009 à 09:18
Merci bcp ^^ Je teste
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bakux Messages postés 1195 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 5 juillet 2015 188
6 sept. 2009 à 09:20
Mais il existe pas une fonction spécifique, je veux dire sans utiliser le main, du genre :

char md5 (char acoder[]){

blablabla ...

return code;
}

int main (){

md5(Bonjour);

}


??
0
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
6 sept. 2009 à 09:49
Tu dois la créer toi-même.
0
Bakux Messages postés 1195 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 5 juillet 2015 188
6 sept. 2009 à 15:16
Il y a un problème ... Je cherche une fonction de Hash md5 pour un char, pas pour un fichier ...
0
Bakux Messages postés 1195 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 5 juillet 2015 188
6 sept. 2009 à 16:32
Personne n'a une fonction deja faite ??
0
Bakux Messages postés 1195 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 5 juillet 2015 188
6 sept. 2009 à 20:03
Up ^^ XD
0
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
6 sept. 2009 à 23:04
J'ai ça en C++ :
#define WIN32_LEAN_AND_MEAN
#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>
#include <wincrypt.h>
#include <stdio.h>

char* GenericHash(unsigned int AlgId,char* Buffer, int lBuffer)
{
	HCRYPTPROV hProv; HCRYPTHASH hHash;
	BYTE* Hash; DWORD lHash, len;

	if (CryptAcquireContext(&hProv,NULL,NULL,PROV_RSA_FULL,CRYPT_VERIFYCONTEXT | CRYPT_MACHINE_KEYSET))
	{
		if (CryptCreateHash(hProv,AlgId,0,0,&hHash))
		{
			if (CryptHashData(hHash,(BYTE*)Buffer,lBuffer,0))
			{
				if (CryptGetHashParam(hHash,HP_HASHSIZE,(BYTE*)&lHash,&len,0))
				{
					Hash = new BYTE[lHash];
					if (!Hash) return NULL;
					if (!CryptGetHashParam(hHash,HP_HASHVAL,Hash,&lHash,0))
					{
						delete[] Hash;
						return NULL;
					}
				}
			}
			else return NULL;
		}
		else return NULL;
	}
	else return NULL;

	CryptDestroyHash(hHash);
	CryptReleaseContext(hProv,0);

	char* sHash = new char[lHash*2+1]; memset(sHash,0,lHash*2+1);
	for (unsigned char i = 0; i <= lHash-1; i++)
	{
		sprintf(sHash+(i*2),"%02X",Hash[i]);
	}
	delete[] Hash;
	return sHash;
}
0
Bakux Messages postés 1195 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 5 juillet 2015 188
7 sept. 2009 à 06:43
Personne en C ??
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
7 sept. 2009 à 07:51
0
> Mais il existe pas une fonction spécifique,
Si , il y a les apis MD5 sous Windows (cf chez les pros pour les exemple https://www.ovh.co.uk/mail/
0
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
7 sept. 2009 à 18:57
C'est le code que j'ai montré.
Il suffit de recoder mon bout de programme en C, ça devrait pas être trop dur ...
0