Как создать MD5 хэш с помощью командной строки Arch Linux?

в Arch Linux, как я могу создать один MD5 хэш для пароля с помощью командной строки? Конечно, я знаю, что есть безопасные алгоритмы хэширования паролей, которых md5 нет, но это всего лишь часть эксперимента.

7
задан Paradox
28.04.2023 17:04 Количество просмотров материала 2758
Распечатать страницу

6 ответов

просто echo it к md5sum.

первый результат будет рассматривать символ новой строки в конце строки, до генерации хэша.

$ echo P@ssword1 | md5sum
0a43c426e3d6764fe1f3f7cbb3579eba  -

иначе как @AFH состояния если вы не хотите, чтобы символ новой строки сделать следующее:

$ echo -n 'P@ssword1' | md5sum
d106b29303767527fc11214f1b325fb6  -
18
отвечен Unfundednut 2023-04-30 00:52

ни один из ответов не упоминает, что с echo -n 'password' | …, вы будете писать свой пароль для постоянного хранения, а именно ваша история.

вы можете избежать этого, в зависимости от оболочки, добавляя к команде пробел (проверьте это для вашей оболочки). Прочитайте документацию по оболочкам о том, как это обрабатывается.

В качестве альтернативы, вы можете использовать md5sum напрямую, запустив md5sum, введите пароль, а затем Ctrl+D. Не бейте введите между пароль и Ctrl+D, если вы не хотите включать новую строку в хэш.

11
отвечен Jonas Schäfer 2023-04-30 03:09

вот пример использования openssl

echo -n 'stack overflow' | openssl md5
(stdin)= 481b8423202598ecfb233c5fa68caf68

Openssl реализует несколько различных алгоритмов хеширования, если вам когда-нибудь понадобится другой.

8
отвечен OPSXCQ 2023-04-30 05:26

кажется, все предлагают использовать echo - по крайней мере, большую часть времени, к счастью, с -n, который снимает one его проблемы (которые он печатает новую строку в конце).

но echo не обязательно последовательны. Он имеет ряд поведенческих причуд, которые вам нужно иметь в виду, и может быть несовместимым между системами. Лучше использовать printf вместо.

следовательно, вы должны быть использование

$ printf '%s' 'P@ssword1' | md5sum
d106b29303767527fc11214f1b325fb6  -
$

С printf, если вы хотите новую строку в конце, вы должны явно добавить его себе:

$ printf '%s\n' 'P@ssword1' | md5sum
0a43c426e3d6764fe1f3f7cbb3579eba  -
$ echo 'P@ssword1' | md5sum
0a43c426e3d6764fe1f3f7cbb3579eba  -
$

вместо того, чтобы просить, чтобы не получить его (и в надежде echo работает то же самое в системе, на которой это происходит в какой-то более поздний момент):

$ echo -n 'P@ssword1' | md5sum
d106b29303767527fc11214f1b325fb6  -
$

, чтобы расширить на точку на особенности echo что я уже упоминал выше, Вот несколько:

  • он работает по-разному на различных системах. Многие современные системы поддерживают -n рассказать echo чтобы не завершать вывод с новой строкой, но некоторые из них не могут. А что если вы хотите на самом деле распечатать -n? Некоторые реализации могут отличаться в зависимости от настройки в оболочке или среде.
  • он обрабатывает или не может обрабатывать некоторые символьные последовательности (особенно символы, экранированные обратной косой чертой) особым образом. Это не совсем необоснованно иметь их в паролях, а POSIX нет гарантия ничего о поведении echo (его поведение конкретно undefined), если первый аргумент -n или любой из его аргументов содержит обратную косую черту.

ответы на вышеупомянутый вопрос об использовании printf вместо echo имеют еще несколько, а также дополнительные ссылки для большего чтения, если вам интересно.

4
отвечен a CVn 2023-04-30 07:43

вопрос подсказывает мне что-то другое, поэтому для полноты картины:

существует метод хэширования паролей на основе MD5, который заменил оригинальный des-based crypt () для использования в /etc/shadow. Теперь он был заменен более новыми вещами, но если вы когда-нибудь столкнетесь с "хэшированием паролей MD5" в дикой природе, это может относиться к этому, а не к простому MD5.

эти хэши на основе MD5 отмечены префиксом $ и вы можете вычислить их с openssl passwd -1

3
отвечен Wumpus Q. Wumbley 2023-04-30 10:00

вы можете легко сделать это с помощью echo и md5sum:

 echo -n "password" | md5sum
0
отвечен Aaron Franke 2023-04-30 12:17

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх