Outils Développeur

Générateur de .htpasswd

Générez des fichiers .htpasswd pour l'authentification HTTP basique d'Apache et Nginx en toute sécurité dans votre navigateur. Prend en charge bcrypt, APR1-MD5 et SHA-1. Les mots de passe ne sont jamais envoyés au serveur.

Conseils

  • Utilisez bcrypt : l'algorithme le plus sécurisé disponible. Compatible avec Apache 2.4+ et Nginx. Plus le coût est élevé, plus le hachage est lent et résistant aux attaques par force brute (10 est une valeur courante).
  • APR1-MD5 ($apr1$) est destiné à la compatibilité avec Apache 2.2 ou antérieur. Il fonctionne avec pratiquement toutes les versions d'Apache et Nginx.
  • SHA-1 ({SHA}) offre une faible résistance aux collisions et n'est pas recommandé. Ne l'utilisez que dans des environnements anciens qui l'exigent.
  • Placez le fichier .htpasswd en dehors du DocumentRoot pour qu'il ne soit pas accessible directement depuis le web.
  • Utilisez toujours HTTPS. Les identifiants d'authentification basique sont simplement encodés en Base64, pas chiffrés — ils transitent en clair sur HTTP.

Questions fréquentes

Ajoutez les directives suivantes à votre .htaccess ou httpd.conf, en pointant AuthUserFile vers le fichier .htpasswd généré :
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user

Ajoutez les directives à votre nginx.conf ou au bloc server concerné :
location /admin {
    auth_basic "Restricted Area";
    auth_basic_user_file /etc/nginx/.htpasswd;
}
Nginx prend en charge bcrypt et APR1-MD5.

bcrypt est fortement recommandé pour Apache 2.4+ et Nginx. Utilisez APR1-MD5 uniquement si vous avez besoin de compatibilité avec Apache 2.2 ou antérieur. Évitez SHA-1 sauf contrainte d'un système ancien.

Il suffit d'ajouter la ligne générée (utilisateur:hash) à la fin du fichier existant. Chaque ligne représente un utilisateur. Les lignes vides et celles commençant par # sont ignorées.

Oui. Tout le calcul de hachage s'effectue entièrement dans votre navigateur. Aucune donnée de mot de passe n'est transmise au serveur. Utilisez cet outil sur une page HTTPS sécurisée et manipulez le fichier généré avec précaution.
ツールくん

Anecdote — Pourquoi Basic Auth survit malgré son âge

L'authentification HTTP basique a été définie en 1999 par la RFC 2617 (mise à jour par la RFC 7617). Le mécanisme est simple : concaténer le nom d'utilisateur et le mot de passe avec :, encoder en Base64 et envoyer dans l'en-tête Authorization.

C'est précisément cette simplicité qui explique sa longévité : idéale pour les environnements de staging, les outils internes ou comme première ligne de défense combinée à des listes blanches d'IP. Deux ou trois lignes de configuration suffisent, sans middleware ni base de données supplémentaires.

Ses limites sont cependant réelles : pas de mécanisme de déconnexion (la session persiste jusqu'à la fermeture du navigateur), pas de gestion de l'expiration des mots de passe ni d'authentification multifacteur native. Pour des services en production avec des exigences de sécurité réelles, envisagez OAuth 2.0 ou OIDC.