Aller au contenu principal

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éponse
  • digtest.c - Programme de test vérifiant l'exactitude de l'implémentation

Ces exemples de code démontrent :

  1. Comment calculer la valeur H(A1) (hachage du nom d'utilisateur, du realm et du mot de passe)
  2. Comment calculer request-digest et response-digest
  3. L'application de l'algorithme MD5 dans l'authentification par condensé
  4. 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.