Назад | Перейти на главную страницу

shasum возвращает неверный результат

Вычисление SHA256 дает мне неверный результат, когда я использую "shasum":

$ echo "abcd" | shasum -a 256
fc4b5fd6816f75a7c81fc8eaa9499d6a299bd803397166e8c4cf9280b801d62c  -

# or

$ echo abcd | shasum -a 256
fc4b5fd6816f75a7c81fc8eaa9499d6a299bd803397166e8c4cf9280b801d62c  -

И в рубине:

$ irb
irb(main):001:0> require "digest"
=> true

irb(main):005:0> Digest::SHA256.hexdigest("abcd")
=> "88d4266fd4e6338d13b845fcf289579d209c897823b9217da3e161936f031589"

Онлайн-генераторы дают мне результат, как и ruby.

Почему результат «шасум» неверен?

Это потому что echo по умолчанию добавляет символ новой строки в конец вывода. Попробуйте использовать:

echo -n abcd | ...

вместо этого, что подавляет новую строку в конце.