Générateur htpasswd

Créez une ligne .htpasswd Apache ou nginx et un en-tête d'autorisation HTTP Basic à partir d'un nom d'utilisateur et d'un mot de passe, avec un hachage bcrypt, APR1 ou SHA-1, entièrement dans votre navigateur.

Chargement de l'outil…

Générateur htpasswdSaisissez un nom d'utilisateur et un mot de passe pour obtenir deux choses à la fois : une ligne .htpasswd prête à coller pour l'authentification basique d'Apache ou de nginx, et l'en-tête d'autorisation HTTP Basic correspondant que votre client enverrait. L'en-tête est le base64 de user:pass et se met à jour instantanément, tandis que la ligne .htpasswd hachée est calculée lorsque vous appuyez sur Générer. Tout s'exécute localement avec la Web Crypto API et un hacheur WebAssembly dans le navigateur, de sorte que votre mot de passe n'est jamais envoyé à un serveur.

Qu'est-ce que Générateur htpasswd ?

Le Générateur htpasswd est un outil gratuit dans le navigateur pour créer les identifiants utilisés par l'authentification HTTP Basic. Les administrateurs système et les développeurs web l'utilisent pour protéger un répertoire ou un panneau d'administration par un nom d'utilisateur et un mot de passe, sans installer l'utilitaire en ligne de commande htpasswd d'Apache. Il produit une seule ligne user:hash que vous ajoutez à un fichier .htpasswd, au choix avec bcrypt (le plus robuste, format $2y$), APR1 (le MD5 portable d'Apache, format $apr1$) ou SHA-1 (format SHA). Il dérive aussi l'en-tête Authorization: Basic correspondant pour que vous puissiez tester les mêmes identifiants avec curl ou un client REST. Le facteur de coût de bcrypt est configurable dans les Paramètres pour un hachage plus robuste ou plus rapide.

Comment utiliser Générateur htpasswd

  1. Saisissez le nom d'utilisateur qui se connectera.
  2. Tapez le mot de passe qui protégera le compte ; il reste dans ce champ et n'est jamais envoyé nulle part.
  3. Copiez tout de suite l'en-tête d'autorisation Basic si vous n'en avez besoin que pour une requête API ou un test curl.
  4. Ouvrez les Paramètres pour choisir l'algorithme de hachage (bcrypt, APR1 ou SHA-1) et, pour bcrypt, le facteur de coût.
  5. Appuyez sur Générer pour calculer la ligne .htpasswd hachée, puis copiez-la dans le fichier .htpasswd de votre serveur.

Exemples

Ligne bcrypt pour un seul utilisateur

Entrée

utilisateur : admin, mot de passe : s3cret, algorithme : bcrypt (coût 10)

Sortie

admin:$2y$10$... (un hachage bcrypt de 60 caractères, sel aléatoire à chaque fois)

En-tête HTTP Basic pour un test d'API

Entrée

utilisateur : admin, mot de passe : s3cret

Sortie

Basic YWRtaW46czNjcmV0

Ligne APR1 (MD5 d'Apache) pour des configurations anciennes

Entrée

utilisateur : web, mot de passe : pass123, algorithme : APR1

Sortie

web:$apr1$<sel>$<hachage de 22 caractères>

Questions fréquentes

Mon mot de passe est-il envoyé à un serveur ?
Non. L'en-tête Basic et le hachage .htpasswd sont tous deux calculés entièrement dans votre navigateur avec la Web Crypto API et un hacheur WebAssembly dans le navigateur. Rien n'est envoyé ni stocké sur un serveur, l'outil fonctionne donc hors ligne et votre mot de passe ne quitte jamais la page.
Quel hachage choisir ?
Utilisez bcrypt pour les nouvelles configurations ; c'est le plus résistant au cassage et il est pris en charge par Apache et nginx modernes. APR1 ($apr1$) est le MD5 portable d'Apache, utile pour les configurations anciennes. SHA-1 ({SHA}) est le plus faible et il vaut mieux l'éviter, sauf si un système l'exige expressément.
Pourquoi le bouton Générer prend-il un instant ?
bcrypt et APR1 sont volontairement lents pour résister aux attaques par force brute, et bcrypt charge en plus un petit module WebAssembly à la première utilisation. Un facteur de coût plus élevé rend bcrypt plus lent mais plus robuste. SHA-1 et l'en-tête Basic sont instantanés.
Cela correspond-il à la vraie commande htpasswd ?
Oui. Les lignes bcrypt utilisent le préfixe $2y$ attendu par Apache, APR1 utilise le format standard $apr1$ avec un sel aléatoire et SHA-1 utilise le schéma {SHA}, tous compatibles avec les fichiers générés par htpasswd.
Puis-je l'utiliser pour nginx ?
Oui. L'auth_basic_user_file de nginx lit le même format .htpasswd, donc une ligne bcrypt ou APR1 fonctionne directement. nginx ne prend pas en charge {SHA}, choisissez donc bcrypt ou APR1 pour lui.

Outils connexes