Unter Linux kann ich einen SHA1-Passwort-Hash mit erstellen sha1pass mypassword
. Gibt es ein ähnliches Kommandozeilen-Tool, mit dem ich sha512
Hashes erstellen kann ? Gleiche Frage für Bcrypt
und PBKDF2
.
security
password
encryption
hashsum
Student
quelle
quelle
sha1sum
?sha1pass
Befehl, der Teil des unter Debian üblichen Syslinux-Pakets ist.sha512sum
Befehl, der Teil von coreutils ist, und ähnlichopenssl sha512
- aber auch nicht die zusätzlichen Dinge, diesha1pass
dazugehören.Antworten:
Ja, Sie suchen
mkpasswd
, was (zumindest auf Debian) Teil deswhois
Pakets ist. Frag nicht warum ...Leider macht meine Version zumindest kein bcrypt. Wenn dies in Ihrer C-Bibliothek der Fall ist, sollte dies der Fall sein (und die Manpage bietet die Option -R, um die Stärke festzulegen). -R funktioniert auch mit sha-512, aber ich bin mir nicht sicher, ob es PBKDF-2 ist oder nicht.
Wenn Sie bcrypt-Passwörter generieren müssen, können Sie dies ziemlich einfach mit dem
Crypt::Eksblowfish::Bcrypt
Perl-Modul tun .quelle
Auf allen Red Hat-Distributionen wie Fedora, CentOS oder RHEL enthält der Befehl
mkpasswd
nicht die gleichen Switches wie die in Debian / Ubuntu normalerweise enthaltene Version.HINWEIS: Der Befehl
mkpasswd
ist tatsächlich Teil desexpect
Pakets und sollte wahrscheinlich vermieden werden. Mit diesen Befehlen können Sie herausfinden, zu welchem Paket es gehört.Beispiel
Beide Methoden sind der Verwendung überlegen,
rpm
da die Pakete zum Suchen nicht installiert werden müssen*/mkpasswd
.Problemumgehungen
Um dies zu umgehen, können Sie die folgenden Python- oder Perl-Einzeiler verwenden, um SHA-512-Kennwörter zu generieren. Beachten Sie, dass diese gesalzen sind:
Python (> = 3,3)
-oder gescriptet-
Python (2.x oder 3.x)
Hinweis: $ 6 $ bezeichnet sha512. Die Unterstützung dieser Methode zur Angabe des Algorithmus hängt von der Unterstützung der Bibliotheksfunktion crypt (3) auf Betriebssystemebene ab (normalerweise in libcrypt). Es ist nicht abhängig von der Python-Version.
Perl
In diesen Beispielen ist das Passwort die Zeichenfolge "Passwort" und das Salz ist "Salzsalz". In beiden Beispielen wird $ 6 $ verwendet, was bedeutet, dass Sie möchten, dass Crypt SHA-512 verwendet.
quelle
crypt.mksalt(crypt.METHOD_SHA512)
das Salz anstelle eines festen verwenden.crypt.mksalt
ist nur in Python 3.x verfügbarcrypt.mksalt
auf CentOS 7.1Sie können das
doveadm
Dienstprogramm verwenden, das imdovecot
Paket enthalten ist.Ergebnis Beispiel:
Schneiden Sie einfach {SHA512-CRYPT} und Sie erhalten Ihren SHA512-Hash-String.
quelle
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)
Führen Sie diesen Befehl aus:
Geben Sie dann das gewünschte Wort ein.
quelle
Um die obigen Problemumgehungen von @ slm zu erweitern, können Sie
raw_input()
in die Python-Anweisung die Felder salt und password einfügen, wenn Sie befürchten, dass jemand Ihren Bash-Verlauf in den Griff bekommt und das Kennwort im Klartext anzeigt , sodass er Sie dazu auffordert. Der Text wird während der Eingabe nicht maskiert, jedoch nicht im Bash-Verlauf angezeigt. Sie können den Befehl auch mit einem führenden Leerzeichen beginnen, aber das vergesse ich immer.quelle
bash
, dass keine Befehle aufgezeichnet werden, denen ein Leerzeichen vorangestellt ist,HISTCONTROL=ignorespace
das Ihrer.bashrc
Datei hinzugefügt wird. Wenn Sie einen Befehl ausführen, den Sie aus Ihrem Verlauf ausschließen möchten, geben Sie einfach ein Leerzeichen und dann den tatsächlichen Befehl ein.sha512 htpasswd
Befehl, der nach Benutzer und Passwort fragt und eine reguläre htpasswd-Datei erzeugt:
Funktioniert mit allen Python-Versionen> 2.5.
quelle
OpenSSL hat
Hilfe sagt:
quelle
Wenn Sie die Python (> = 2.7) -Methode aus der Antwort von sim verwenden und Ihr Passwort bestätigen möchten, bevor es generiert wird - weil Sie dicke Fingerpasswörter haben ...
quelle
openssl-Version "OpenSSL 1.1.1" unter Linux und openssl-Version "LibreSSL 2.6.5" unter MacOS unterstützen md5_crypt.
Einfach ausführen und Passwort eingeben:
oder geben Sie das Klartext-Passwort direkt in die CLI ein:
quelle
Sie können verwenden
sha512sum
:quelle