5. Exemple d'implémentation (Sample Implementation)
Le code suivant implémente les calculs de H(A1), H(A2), request-digest et response-digest, ainsi qu'un programme de test qui calcule les valeurs utilisées dans les exemples de la section 3.5. Il utilise l'implémentation MD5 du RFC 1321.
Note : Cette section contient un exemple de code en langage C démontrant comment implémenter les calculs de base pour l'authentification par condensé (Digest Authentication). Les exemples de code incluent :
digcalc.h- Fichier d'en-tête définissant les structures de données et les déclarations de fonctions requises pour les calculs d'authentification par condensédigcalc.c- Fichier d'implémentation contenant les implémentations concrètes des calculs H(A1) et de réponsedigtest.c- Programme de test vérifiant l'exactitude de l'implémentation
Ces exemples de code démontrent :
- Comment calculer la valeur H(A1) (hachage du nom d'utilisateur, du realm et du mot de passe)
- Comment calculer request-digest et response-digest
- L'application de l'algorithme MD5 dans l'authentification par condensé
- Comment gérer les différentes options qop (qualité de protection)
Points clés de l'implémentation :
- Utilise l'algorithme MD5 pour les calculs de hachage
- Gère correctement la conversion hexadécimale
- Prend en charge les algorithmes « MD5 » et « MD5-sess »
- Prend en charge les valeurs qop « auth » et « auth-int »
Pour l'implémentation complète du code C, veuillez vous référer à la section 5 du texte original du RFC 2617.