Есть много примеров, чтобы сделать это, но некоторые из них не эквивалентны, потому что некоторые из них явно или неявно включают перевод строки, а некоторые другие нет.
Я хотел бы четко указать, какие из популярных методов включают перевод строки, а какие нет.
Вот несколько примеров вычисления хеша md5 БЕЗ завершающего перевода строки (ПРАВИЛЬНО):
Используя файл с текстом:
$ echo -n "test" > test.txt
$ wc test.txt
0 1 4 test.txt
$ md5sum test.txt
098f6bcd4621d373cade4e832627b4f6 test.txt
Примечание: -n
в echo
значении: «не выводить завершающий перевод строки».
Использование echo
с -n
inline:
$ echo -n "test" | md5sum
098f6bcd4621d373cade4e832627b4f6 -
Использование printf
:
$ printf "%s" "test" | md5sum
098f6bcd4621d373cade4e832627b4f6 -
Используя только md5sum
команду:
(Давайте напишем md5sum
, нажмите, Enterзатем напишите строку, test
а затем нажмите двойную комбинацию Ctrl+ d)
$ md5sum
test098f6bcd4621d373cade4e832627b4f6 -
Используя md5sum -
команду:
(Давайте напишем md5sum -
, нажмите, Enterзатем напишите строку, test
а затем нажмите двойную комбинацию Ctrl+ d)
$ md5sum -
test098f6bcd4621d373cade4e832627b4f6 -
Вот несколько примеров для вычисления хэша md5 С завершающим символом новой строки (ТАК НЕ ПРАВИЛЬНО):
Используя файл с текстом:
$ echo "test" > test_n.txt
$ wc test_n.txt
1 1 5 test_n.txt
$ md5sum test_n.txt
d8e8fca2dc0f896fd7cb4cb0031ba249 test_n.txt
Использование echo
БЕЗ -n
inline:
echo "test" | md5sum
d8e8fca2dc0f896fd7cb4cb0031ba249 -
Используя здесь строки :
$ md5sum <<< "test"
d8e8fca2dc0f896fd7cb4cb0031ba249 -
Используя только md5sum
команду, но с Enterключом после написания текста:
(Давайте напишем md5sum
, нажмите, Enterзатем напишите строку, test
а затем нажмите agaien Enterи один раз комбинацию Ctrl+ d)
$ md5sum
test
d8e8fca2dc0f896fd7cb4cb0031ba249 -
Используя md5sum -
команду, но с Enterключом после написания текста:
(Давайте напишем md5sum -
, нажмите, Enterзатем напишите строку, test
а затем нажмите agaien Enterи один раз комбинацию Ctrl+ d)
$ md5sum -
test
d8e8fca2dc0f896fd7cb4cb0031ba249 -
md5 -s abcdefg