Есть много примеров для этого, но некоторые из них не эквивалентны, потому что некоторые из них явно или неявно включают новую строку, а некоторые другие - нет.
Я хотел бы четко указать, какой из популярных методов включает новую строку, а какие нет.
Вот несколько примеров расчета 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 -