Système d'identification utilisant md5

Soyez le premier à donner votre avis sur cette source.

Vue 8 323 fois - Téléchargée 1 284 fois

Description

C'est un petit système d'identification que vous pouvez rajouter à vos programmes en C-Console, il utilise MD5 pour hasher les mots de passe et ne pas les laisser en clair dans le fameux fichier "config.ini" ou ils sont stockés.
En plus de vous faire un code tout près à rajouter au début de vos programme, il donne un exemple d'utilisation de md5.h et md5.cpp.

Conclusion :


Le zip contient tous les fichiers nécéssaires à la compilation et un petit manuel en pdf.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
6
Date d'inscription
lundi 19 avril 2004
Statut
Membre
Dernière intervention
16 janvier 2005

cela marche aussi si au lieu du scanf on utilise fgets a condition de supprimer le "\n":

if (fgets (PassEntree, sizeof PassEntree, stdin) != NULL)
{
char *p = strchr (PassEntree, '\n');
if (p)
{
*p = 0;
}
}

Sinon tres bon code. il va bien m'aider. merci

PS: "La fonction scanf() est une fonction destinée, comme le f dans son nom l'indique, aux saisies formatées et s'avère ainsi très peu adaptée aux saisies humaines qui peuvent présentées des erreurs de format, ces erreurs de formats pouvant entrainer des débordements de tableau, des boucles infinies, des perturbations sur les saisies suivantes, etc.
Il ainsi conseillé de remplacer les saisies formatées effectuées par scanf() par une lecture complète via fgets() suivie d'une analyse de la chaîne lue."
citation: http://c.developpez.com/faq/c/?page=clavier_ecran#SCREEN_scanf_fgets
Messages postés
6
Date d'inscription
lundi 19 avril 2004
Statut
Membre
Dernière intervention
16 janvier 2005

En regardant de plus pres cela fonctionne si l'on fait:
strcpy(PassEntree,"message digest");
mais ne marche pas avec un scanf
Messages postés
6
Date d'inscription
lundi 19 avril 2004
Statut
Membre
Dernière intervention
16 janvier 2005

Salut,

j'ai compare les differentes valeurs de http://abcdrfc.free.fr/rfc-vf/rfc1321.html.
cela fonctionne pour:
MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =
d174ab98d277d9f5a5611c2c9f419d9f
MD5 ("123456789012345678901234567890123456789012345678901234567890123456
78901234567890") = 57edf4a22be3c955ac49da2e2107b67a

mais pas pour:
MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
ton code trouve: 78e731027d8fd50ed642340b7c9a63b3
qui correspond a MD5 ("message")
apparement il y a un probleme avec les espaces
Messages postés
215
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
25 septembre 2010

Salut LaetitiaVincent. Je pense à lire le code que le 'standard' MD5 a bien été respecté. Pour le vérifier, tu peux faire un programme qui teste les différentes valeurs "officielles" que tu pourra trouver ici: http://abcdrfc.free.fr/rfc-vf/rfc1321.html tout en bas de la page (avant les considérations sur la sécurité).
Normalement, tu devrais trouver les mêmes valeurs.

Bonne continuation
Messages postés
61
Date d'inscription
mercredi 24 mai 2006
Statut
Membre
Dernière intervention
19 janvier 2007

Super code très bien expliqué. Mais question : le code utilisé dans le fichier md5.cpp pour le hacher est d'origine ou tu l'as modifié ? Je te demande cela car je dois hacher des informations qui vont être comparées aux mêmes informations qui se trouvent sur un serveur et qui ont déjà été hachées, donc je me demande si je vais retrouver la même chose ???

En tout cas merci pour ton code
Afficher les 7 commentaires

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.