Есть много примеров для этого, но некоторые из них не эквивалентны, потому что некоторые из них явно или неявно включают новую строку, а некоторые другие - нет.
Я хотел бы четко указать, какой из популярных методов включает новую строку, а какие нет.
Вот несколько примеров расчета md5 хэш БЕЗ завершающей новой строки (ПРАВИЛЬНО):
Использование файла с текстом:
$ echo -n "test" > test.txt$ wc test.txt0 1 4 test.txt$ md5sum test.txt098f6bcd4621d373cade4e832627b4f6 test.txt
Примечание: -n
в echo
означает: "не выводить завершающую новую строку".
С помощью echo
с -n
встроенный:
$ echo -n "test" | md5sum098f6bcd4621d373cade4e832627b4f6 -
С помощью printf
:
$ printf "%s" "test" | md5sum098f6bcd4621d373cade4e832627b4f6 -
Используя только md5sum
команда:
(Давайте напишем md5sum
, нажмите Enter затем напишите строку test
а затем нажмите двойную комбинацию Ctrl+d)
$ md5sumtest098f6bcd4621d373cade4e832627b4f6 -
С помощью md5sum -
команда:
(Давайте напишем md5sum -
, нажмите Enter затем напишите строку test
а затем нажмите двойную комбинацию Ctrl+d)
$ md5sum -test098f6bcd4621d373cade4e832627b4f6 -
Вот несколько примеров расчета md5 хэш С завершающей новой строкой (ПОЭТОМУ НЕВЕРНО):
Использование файла с текстом:
$ echo "test" > test_n.txt$ wc test_n.txt1 1 5 test_n.txt$ md5sum test_n.txtd8e8fca2dc0f896fd7cb4cb0031ba249 test_n.txt
С помощью echo
без -n
встроенный:
echo "test" | md5sumd8e8fca2dc0f896fd7cb4cb0031ba249 -
С помощью вот строки:
$ md5sum <<< "test"d8e8fca2dc0f896fd7cb4cb0031ba249 -
Используя только md5sum
команда, но с Enter ключ после написания текста:
(Давайте напишем md5sum
, нажмите Enter затем напишите строку test
а затем нажмите agaien Enter и однажды комбинация Ctrl+d)
$ md5sumtestd8e8fca2dc0f896fd7cb4cb0031ba249 -
С помощью md5sum -
команда, но с Enter ключ после написания текста:
(Давайте напишем md5sum -
, нажмите Enter затем напишите строку test
а затем нажмите agaien Enter и однажды комбинация Ctrl+d)
$ md5sum -testd8e8fca2dc0f896fd7cb4cb0031ba249 -