В Linux я могу создать хэш пароля SHA1, используя sha1pass mypassword
. Есть ли похожий инструмент командной строки, который позволяет мне создавать sha512
хэши? Тот же вопрос для Bcrypt
и PBKDF2
.
security
password
encryption
hashsum
ученик
источник
источник
sha1sum
?sha1pass
Debian есть команда, входящая в пакет syslinux-common.sha512sum
команда, которая входит в coreutils, и аналогичноopenssl sha512
- но не делает ничего лишнего, чтоsha1pass
делает.Ответы:
Да, вы ищете
mkpasswd
, который (по крайней мере, в Debian) является частьюwhois
пакета. Не спрашивай почему ...К сожалению, моя версия по крайней мере не делает bcrypt. Если ваша библиотека C делает это, она должна (и на странице man есть опция -R, чтобы установить силу). -R также работает на sha-512, но я не уверен, что его PBKDF-2 или нет.
Если вам нужно сгенерировать пароли bcrypt, вы можете сделать это довольно просто с помощью
Crypt::Eksblowfish::Bcrypt
модуля Perl.источник
В любом дистрибутиве Red Hat, таком как Fedora, CentOS или RHEL, команда
mkpasswd
не включает в себя тот же набор переключателей, что и версия, обычно включаемая в Debian / Ubuntu.ПРИМЕЧАНИЕ. Команда
mkpasswd
фактически является частьюexpect
пакета, и ее, вероятно, следует избегать. Вы можете узнать, к какому пакету он принадлежит, с помощью любой из этих команд.пример
Оба эти метода лучше, чем использование,
rpm
так как пакеты не должны быть установлены для определения местоположения*/mkpasswd
.обходные
Чтобы обойти это, вы можете использовать следующие однострочники Python или Perl для генерации паролей SHA-512. Обратите внимание, что они соленые:
Python (> = 3.3)
или сценарий
Python (2.x или 3.x)
Примечание: $ 6 $ обозначает sha512. Поддержка этого метода задания алгоритма зависит от поддержки библиотечной функции crypt (3) уровня операционной системы (обычно в libcrypt). Это не зависит от версии Python.
Perl
В этих примерах пароль - это строка «пароль», а соль - «соль соли». В обоих примерах используется $ 6 $, что означает, что вы хотите, чтобы crypt использовал SHA-512.
источник
crypt.mksalt(crypt.METHOD_SHA512)
для генерации соли вместо фиксированной.crypt.mksalt
доступен только в Python 3.xcrypt.mksalt
CentOS 7.1Вы можете использовать
doveadm
утилиту, которая входит вdovecot
комплект.Пример результата:
Просто обрежьте {SHA512-CRYPT}, и вы получите хеш-строку SHA512 .
источник
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)
Запустите эту команду:
затем введите слово, которое вы хотите хэшировать.
источник
Чтобы расширить описанные выше обходные пути @ slm, если вы беспокоитесь о том, что кто-то завладеет вашей историей bash и увидит простой текстовый пароль, вы можете вставить
raw_input()
в оператор python, куда идут поля соли и пароля, чтобы он запрашивал их у вас. Текст не маскируется, когда вы печатаете, но он не будет отображаться в вашей истории bash. Вы также можете запустить команду с начального пробела, но я всегда забываю это делать.источник
bash
чтобы не записывать команды с префиксом, добавляяHISTCONTROL=ignorespace
к вашему.bashrc
файлу пробел . Когда вы запускаете команду, которую хотите исключить из своей истории, просто введите пробел, а затем саму команду.sha512 htpasswd
Команда, которая запрашивает имя пользователя и пароль и генерирует обычный htpasswd-файл:
Работает со всеми версиями Python> 2.5.
источник
OpenSSL имеет
Помощь говорит:
источник
Если вы используете метод Python (> = 2.7) из ответа сима и хотите подтвердить свой пароль до того, как он сгенерируется - потому что вы толстые пароли пальцев ...
источник
Версия openssl «OpenSSL 1.1.1» для Linux и версия openssl «LibreSSL 2.6.5» для MacOS с поддержкой md5_crypt.
Просто запустите и введите пароль:
или предоставьте простой текстовый пароль непосредственно в CLI:
источник
Вы можете использовать
sha512sum
:источник