Outil de développement / 24
Générateur .htpasswd Apache / Nginx
Générez en mémoire côté client des lignes d’authentification .htpasswd pour Apache et Nginx et des hachages de mots de passe.
Générateur .htpasswd Apache / Nginx: TOEA écrit la ligne attendue par Apache et nginx pour l’authentification HTTP Basic. Par défaut, c’est le format $apr1$ d’Apache : le mot de passe est salé avec huit caractères aléatoires et itéré mille fois, ce que produit htpasswd -m et que les deux serveurs lisent. Fonctionne 100 % localement dans votre navigateur, sans aucun téléversement de fichier vers le serveur.
- Catégorie
- Outils développeur
- Exécutions
- Dans votre navigateur
- Coût
- Gratuit · sans inscription
- Disponibilité
- Prêt à l'emploi
Intégrer la ligne à un serveur
Enregistrez la ligne dans un fichier situé en dehors de la racine web, avec un user:hash par ligne. Pour nginx, ajoutez auth_basic "Restricted"; et auth_basic_user_file /etc/nginx/.htpasswd; au bloc location ou server. Pour Apache, utilisez AuthType Basic, AuthName, AuthUserFile avec le chemin complet du fichier, ainsi que Require valid-user. Rechargez ensuite le serveur ; une erreur de syntaxe à cet endroit se manifeste par l'échec de toutes les requêtes, et pas seulement des connexions.
Signes dollar et HTTP non chiffré
Le hash contient de nombreux caractères $, et les fichiers Docker Compose, les fichiers .env et certaines étiquettes de proxy interprètent $ comme le début d'une variable. Dans Compose, écrivez chaque $ sous la forme $$ ; sinon, le hash est raccourci silencieusement et aucun mot de passe ne correspond.
L'authentification Basic envoie le nom d'utilisateur et le mot de passe avec chaque requête, sous forme encodée mais non chiffrée. Placez-la derrière HTTPS et utilisez-la comme barrière pour les sites de préproduction et les chemins d'administration, plutôt que comme système de connexion pour les clients.
Comment l'utiliser
- Saisissez un nom d’utilisateur et un mot de passe.
- Laissez l’algorithme sur Apache MD5 sauf si vous avez une bonne raison de changer.
- Copiez la ligne générée dans votre fichier .htpasswd.
Confidentialité et limitations
Le mot de passe est haché dans votre navigateur et n’est jamais envoyé nulle part. Rien n’est journalisé, et le sel provient de la source aléatoire cryptographique de votre navigateur, de sorte que deux personnes générant une ligne pour le même mot de passe n’obtiennent pas le même hachage.
Outils associés
Questions fréquentes
Quel algorithme choisir ?
Apache MD5 ($apr1$), l’option par défaut ici. Il est salé et itéré, et Apache comme nginx l’acceptent. L’option {SHA} est un condensat SHA-1 non salé, conservée uniquement pour des configurations plus anciennes qui l’exigent — l’outil htpasswd d’Apache lui-même signale cette option comme non sécurisée, car des mots de passe identiques produisent des hachages identiques et une table de correspondance les casse.
Est-ce aussi solide que bcrypt ?
Non. bcrypt est le choix le plus robuste et Apache le prend en charge, mais il ne peut pas être généré ici — il nécessite une implémentation Blowfish qui représenterait une quantité importante de code à intégrer et à juger fiable. Si vous voulez bcrypt, exécutez htpasswd -B -n username en local et collez le résultat.
Puis-je vérifier une ligne avant de m’y fier ?
Oui, et cela vaut la peine. Enregistrez-la dans un fichier et exécutez htpasswd -vb yourfile username password — Apache vous dira si l’authentification réussit. Ces lignes sont vérifiées à la fois avec htpasswd et openssl passwd -apr1.
Outil gratuit · dans votre navigateur exécutions · aucun compte requis