Проблемы md5sum, когда в строке есть \n символов

У меня есть следующая проблема при попытке правильно хэшировать строку в Linux.

Я использую следующий процесс в команде оболочки Linux:

echo -n "THIS IS A TEST" | md5sum

и он производит правильное значение md5 (1586CFFAFA39E38959477DA9EAA41C31)

Однако я не могу понять, как получить правильное значение md5 для строки: THIS IS\n A TEST

Я попробовал подобное:

echo -n "THIS IS\n A TEST" | md5sum

это дает неправильное значение md5 вместо правильного, которое должно быть: 180FB5A20D21A215AF9D1F89251B3614

1 ответ

Решение

Вы должны использовать echo -e (используя Bash), чтобы он понимал escape-коды.

Например: echo -en "ЭТО \n ТЕСТ" | md5sum

Это даст вам правильный хеш для этой строки (которая есть): 7a04591799701f311f30755bf53f90d1

Другие вопросы по тегам