Apache & Nginx htpasswd Generator

Guide Développeur : Générateur htpasswd pour Apache et Nginx (Bcrypt, APR1-MD5, SHA-1)

Générez des mots de passe sécurisés pour l'authentification HTTP Basic et des fichiers .htpasswd avec Bcrypt, APR1-MD5 et SHA-1.

Préréglages:
Identifiants d'Authentification & Options
Entropy: 105 bitsMilitary-Grade
Facteur de Coût Bcrypt (Rounds):10 (1,024 iterations)
4 (Fastest)10 (Default)14 (Maximum)
Apache Revision Prefix:
admin:$2b$10$h8K.aMe9K8quqx55div8M.Pq1Hfy/RAfA37iCNFp2NdAXXqwa4p06
Comptes Configurés
1 User Account (66 Bytes)
Chiffrement Actif
Bcrypt ($2y$, 10 Rounds)
Force du Mot de Passe
GPU Resistant (High Work Factor)

Fonctions Cryptographiques de Hachage (Bcrypt, APR1-MD5, SHA-1)

Prend en charge le Bcrypt moderne Eksblowfish ($2y$/$2a$), l'APR1-MD5 Apache avec 1 000 itérations de sel, et les hachages SHA-1 en Base64.

Architecture Double Serveur (Apache httpd & Nginx)

Génère des entrées .htpasswd à la syntaxe validée avec blocs Nginx auth_basic, directives Apache AuthUserFile et secrets Docker/Kubernetes prêts à l'emploi.

Exécution Locale Zero-Knowledge dans le Navigateur

Toute la génération de sel, les permutations MD5 et les calculs de hachage s'exécutent entièrement dans votre navigateur sans aucune transmission réseau.

Référence technique et guide d'architecture

Guide Développeur : Générateur htpasswd pour Apache et Nginx (Bcrypt, APR1-MD5, SHA-1) — Guide de référence

Générez des mots de passe sécurisés pour l'authentification HTTP Basic et des fichiers .htpasswd avec Bcrypt, APR1-MD5 et SHA-1.

Paramètres clés et contrôles

usernamestring

Nom d'utilisateur pour l'authentification HTTP Basic. Ne doit pas contenir de deux-points (:) ni de caractères de contrôle.

Par défaut : admin
passwordstring

Mot de passe en clair à hacher pour composer la ligne d'identification .htpasswd.

Par défaut : ••••••••
algorithmselect

Algorithme de hachage : Bcrypt ($2y$), Apache APR1-MD5 ($apr1$), SHA-1 ({SHA}) ou Unix Crypt.

Par défaut : bcrypt
costnumber

Facteur de coût Bcrypt (itérations = 2^cost, plage 4–31). Définit le temps de calcul CPU par vérification.

Par défaut : 10

Conseils de pro et bonnes practices

Adoptez systématiquement Bcrypt en production

Privilégiez Bcrypt ($2y$) chaque fois que possible. Apache 2.4+ et Nginx 1.0.3+ le prennent en charge nativement. Sa complexité paramétrable offre une protection robuste contre les attaques par force brute sur GPU.

Placez le fichier .htpasswd hors du DocumentRoot

Ne stockez jamais votre fichier .htpasswd dans l'arborescence web publique. Déposez-le dans /etc/nginx/.htpasswd ou /etc/apache2/.htpasswd et appliquez des permissions strictes (chmod 640 ou 600) attribuées au serveur web.

Bannissez le SHA-1 non salé et le MD5 standard

Le SHA-1 simple ({SHA}) et le MD5 standard sont obsolètes. Les GPU actuels peuvent tester des milliards de combinaisons par seconde, exposant vos identifiants à des attaques immédiates par dictionnaire.

Veillez aux sauts de ligne Unix (LF)

Le fichier .htpasswd doit impérativement utiliser des sauts de ligne Unix LF (\n). Les retours chariot Windows CRLF (\r\n) altèrent la fin de chaîne du hash, provoquant des échecs d'authentification récurrents.

Pièges courants et dépannage

Nginx renvoie une erreur HTTP 500 Internal Server Error après activation d'auth_basic

Consultez /var/log/nginx/error.log. Ce problème découle généralement d'un chemin erroné pour auth_basic_user_file ou d'un défaut de droits en lecture pour le processus Nginx (www-data). Exécutez 'chmod 644 /etc/nginx/.htpasswd'.

Apache boucle sur la demande d'identifiants avec mention 'password mismatch'

Assurez-vous que la bibliothèque APR d'Apache intègre le support Bcrypt (apr-util 1.5+ requis). Vérifiez également l'absence de retours chariot (\r) ou d'espaces superflus en fin de ligne.

Les deux-points dans le nom d'utilisateur provoquent une erreur de parsing

Dans le fichier .htpasswd, le premier deux-points sert de délimiteur (utilisateur:hash). Le nom d'utilisateur ne peut donc pas contenir de deux-points (:), alors que le mot de passe peut en comporter sans restriction.

Foire aux questions (FAQ)

Quelle est la différence entre APR1-MD5 et le MD5 classique ?▼

APR1 ($apr1$) est une variante itérative propre à Apache qui applique un sel aléatoire et exécute 1 000 passes de MD5 afin de bloquer les rainbow tables. Le MD5 standard s'exécute en une seule passe non salée et est totalement proscrit.

Nginx est-il directement compatible avec les fichiers .htpasswd générés pour Apache ?▼

Oui. Le module ngx_http_auth_basic_module de Nginx gère nativement les fichiers .htpasswd au format Apache, incluant Bcrypt ($2a$, $2b$, $2y$), APR1-MD5 ainsi que le crypt Unix classique.

Quel facteur de coût Bcrypt est recommandé pour l'authentification HTTP Basic ?▼

Un facteur compris entre 10 et 12 est idéal. Avec un coût de 10, le temps de calcul est d'environ 50 à 100 ms sur un CPU moderne, ce qui ralentit considérablement les tentatives d'intrusion sans pénaliser les utilisateurs légitimes.

Comment configurer l'authentification .htpasswd dans Nginx ?▼

Insérez 'auth_basic "Zone Protégée";' et 'auth_basic_user_file /etc/nginx/.htpasswd;' dans votre bloc server ou location. Vérifiez la configuration avec 'nginx -t' puis rechargez le service via 'systemctl reload nginx'.

Outils et utilitaires connexes

Tous les outils →