Sous Linux, je peux créer un hachage de mot de passe SHA1 avec sha1pass mypassword
. Existe-t-il un outil de ligne de commande similaire qui me permet de créer des sha512
hachages? Même question pour Bcrypt
et PBKDF2
.
security
password
encryption
hashsum
étudiant
la source
la source
sha1sum
?sha1pass
commande, faisant partie du paquet syslinux-common sur Debian.sha512sum
commande qui fait partie de coreutils, et de la même manièreopenssl sha512
- mais les choses supplémentaires qui le fontsha1pass
ne le font pas non plus.Réponses:
Oui, vous recherchez
mkpasswd
ce qui (du moins sur Debian) fait partie duwhois
paquet. Ne demande pas pourquoi ...Malheureusement, ma version du moins ne fonctionne pas avec bcrypt. Si votre bibliothèque C le fait, cela devrait (et la page de manuel donne une option -R pour définir la force). -R fonctionne également sur sha-512, mais je ne sais pas si c'est PBKDF-2 ou non.
Si vous devez générer des mots de passe bcrypt, vous pouvez le faire assez simplement avec le
Crypt::Eksblowfish::Bcrypt
module Perl.la source
Sur toutes les distributions Red Hat telles que Fedora, CentOS ou RHEL, la commande
mkpasswd
n'inclut pas le même ensemble de commutateurs que la version généralement fournie avec Debian / Ubuntu.REMARQUE: La commande
mkpasswd
fait en réalité partie duexpect
package et doit probablement être évitée. Vous pouvez trouver à quel paquet il appartient avec l'une de ces commandes.Exemple
Ces deux méthodes sont supérieures à l'utilisation
rpm
car il n'est pas nécessaire d'installer les packages pour les localiser*/mkpasswd
.Solutions de contournement
Pour contourner ce problème, vous pouvez utiliser les one-liners Python ou Perl suivants pour générer des mots de passe SHA-512. Prenez note que ceux-ci sont salés:
Python (> = 3.3)
-ou scripté-
Python (2.x ou 3.x)
Remarque: 6 $ désignent sha512. La prise en charge de cette méthode de spécification de l’algorithme dépend de la prise en charge de la fonction de bibliothèque crypt (3) au niveau du système d’exploitation (généralement dans libcrypt). Il ne dépend pas de la version de Python.
Perl
Dans ces exemples, le mot de passe est la chaîne "password" et le sel est "selsalt". Les deux exemples utilisent $ 6 $, ce qui indique que vous voulez que crypt utilise SHA-512.
la source
crypt.mksalt(crypt.METHOD_SHA512)
pour générer le sel au lieu d’en utiliser un fixe.crypt.mksalt
est uniquement disponible en Python 3.xcrypt.mksalt
CentOS 7.1Vous pouvez utiliser l'
doveadm
utilitaire inclus dans ledovecot
package.Exemple de résultat:
Il suffit de couper {SHA512-CRYPT} et vous obtiendrez votre chaîne hachée SHA512.
la source
doveadm(jotik): Fatal: Error reading configuration: stat(/etc/dovecot/dovecot.conf) failed: Permission denied (euid=1000(jotik) egid=100(users) missing +x perm: /etc/dovecot, we're not in group 97(dovecot), dir owned by 0:97 mode=0750)
Exécutez cette commande:
puis entrez le mot que vous voulez haché.
la source
Pour développer les solutions de contournement @ slm ci-dessus, si vous craignez que quelqu'un arrête votre historique de bash et visualise le mot de passe en texte brut, vous pouvez insérer
raw_input()
dans la déclaration python l'emplacement où se trouvent les champs sel et mot de passe afin de vous y inviter. Le texte n'est pas masqué lorsque vous tapez, mais il n'apparaîtra pas dans votre historique de bash. Vous pouvez également démarrer la commande avec un espace de début, mais j'oublie toujours de le faire.la source
bash
pour ne pas enregistrer les commandes préfixées avec un espace ajoutantHISTCONTROL=ignorespace
à votre.bashrc
fichier. Lorsque vous exécutez une commande que vous souhaitez exclure de votre historique, tapez simplement un espace puis la commande réelle.sha512 htpasswd
Commande qui demande un utilisateur et un mot de passe et génère un fichier htpasswd normal:
Fonctionne avec toutes les versions de python> 2.5.
la source
OpenSSL a
L'aide dit:
la source
Si vous utilisez la méthode Python (> = 2.7) de la réponse de sim et que vous souhaitez confirmer votre mot de passe avant qu'il ne soit généré - car vous avez le gros mot de passe ...
la source
La version "OpenSSL 1.1.1" sur Linux et la version "LibreSSL 2.6.5" sur Mac OS supportent md5_crypt.
Il suffit de courir et d'entrer le mot de passe:
ou fournissez le mot de passe en texte brut directement à la CLI:
la source
Vous pouvez utiliser
sha512sum
:la source