Générateur Unix Crypt
Générez un hachage de mot de passe /etc/shadow salé pour Linux.
Comment utiliser Générateur Unix Crypt
- Saisissez le mot de passe que vous voulez hacher.
- Laissez le schéma sur SHA-512 crypt ($6$), sauf si le système cible nécessite un schéma plus ancien.
- Cliquez sur Générer et collez le hachage dans /etc/shadow, votre variable Ansible ou votre fichier cloud-init.
À propos de Générateur Unix Crypt
Ce sont les hachages qui résident dans /etc/shadow sous Linux. Le format est $id$sel$hachage, et l'id indique quel schéma l'a produit : $1$ est MD5-crypt, $5$ est SHA-256 crypt, et $6$ est SHA-512 crypt. SHA-512 crypt ($6$) est le défaut sur la plupart des distributions Linux modernes, ce qui explique pourquoi c'est aussi la valeur par défaut ici — si vous écrivez un hachage dans un système moderne, c'est presque certainement celui qu'il vous faut.
MD5-crypt mérite une remarque, car son nom induit constamment les gens en erreur. Il a été conçu par Poul-Henning Kamp pour FreeBSD, et malgré son nom, ce n'est pas un simple MD5 de votre mot de passe — il applique MD5 de nombreuses fois avec un sel mêlé au processus, précisément pour ralentir les attaquants. Un hachage $1$ et un hachage MD5 brut sont deux choses entièrement différentes et ne sont pas interchangeables. Il reste le plus faible des trois proposés ici, et ne vaut la peine d'être choisi que lorsqu'un système ancien ne vous laisse pas d'autre option.
Les trois schémas sont salés, donc le résultat diffère à chaque exécution — c'est normal, pas un bug. Le sel se situe au milieu de la chaîne afin que le système puisse le relire lors de la vérification d'une connexion. Ces hachages sont bien meilleurs qu'un simple hachage non salé, mais pour une nouvelle application, ils restent le choix le plus faible, car ils ne sont pas gourmands en mémoire : ils coûtent du temps CPU mais très peu de RAM, si bien que les attaques par GPU s'appliquent efficacement contre eux. Préférez-leur bcrypt ou Argon2 dans ce cas. Là où les hachages crypt brillent vraiment, c'est dans le travail système — scripts de création d'utilisateurs, tâches Ansible user, champs passwd de cloud-init et images Docker, là où le système d'exploitation attend exactement ce format et où rien d'autre ne convient.
Questions fréquentes
Que signifient $1$, $5$ et $6$ ?
Ce sont des identifiants de schéma en début de hachage : $1$ pour MD5-crypt, $5$ pour SHA-256 crypt et $6$ pour SHA-512 crypt. Le sel suit, puis le hachage lui-même, séparés par des signes dollar.
Pourquoi le hachage change-t-il à chaque clic sur Générer ?
Parce qu'un sel aléatoire nouveau est généré à chaque exécution et mélangé au processus. Les deux hachages sont valides pour le même mot de passe — le sel est stocké dans la chaîne afin que le système puisse vérifier une connexion ultérieurement.
$1$ est-il la même chose qu'un hachage MD5 ?
Non, et c'est un piège classique. MD5-crypt a été conçu par Poul-Henning Kamp pour FreeBSD et applique MD5 de nombreuses fois avec un sel. Ce n'est pas un simple MD5 de votre mot de passe, et les deux ne sont pas interchangeables.
Lequel devrais-je choisir ?
SHA-512 crypt ($6$) — c'est le défaut sur la plupart des distributions Linux modernes. Ne descendez à $5$ ou $1$ que si vous ciblez un système ancien qui l'exige.
Devrais-je utiliser des hachages crypt dans mon application web ?
Non. Ils sont salés et bien meilleurs qu'un hachage brut, mais ils ne sont pas gourmands en mémoire, si bien que les GPU les attaquent efficacement. Utilisez bcrypt ou Argon2 pour les mots de passe d'application, et réservez crypt à /etc/shadow et au provisionnement système.
Mon mot de passe est-il stocké ?
Non. Il est envoyé à notre serveur pour être haché, car les navigateurs ne peuvent pas calculer crypt, puis haché et immédiatement supprimé — jamais journalisé, jamais stocké. Pour un mot de passe de compte de production réel, exécuter mkpasswd sur votre propre machine reste la pratique la plus sûre.

