Проблемы 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