2016-08-25 2 views
0

Игровая площадка Golang link, заданная в вопросе SO, использует sha256 lib Go, дает другой результат, чем выполнение следующей команды в Linux Ubuntu. РезультатПочему Go sha256 дает отличный результат, чем команда Ubuntu sha256sum?

echo "sha1 this string" | sha256sum

Гоу: fceab3bb749b11a43b89f21ccd28e3f5d8b38d5b23eeea960fc169ab482ee2cd

Linux результат: 62d44fd0392ed998179bfd4a162141d7000d1f9aa4fae26465e2e4f57d3a420e

Это не правильный способ создания дайджеста в Go? Может кто-нибудь объяснить, что здесь происходит?

+0

Извините, что раньше зрители забыли изменить ссылку на площадку, чтобы использовать sha256 вместо sha1. Теперь это исправлено. – RayfenWindspear

ответ

6

Потому что echo добавляет символ \n. Попробуйте сделать echo -n:

echo -n "sha1 this string" | gsha256sum 
fceab3bb749b11a43b89f21ccd28e3f5d8b38d5b23eeea960fc169ab482ee2cd - 
+0

Aw crap, я специально использовал эхо, потому что для использования stdin требуется новая строка, прежде чем я смогу нажать ctrl + d. Благодарю. – RayfenWindspear

Смежные вопросы