Создание sha256 из командной строки Linux [закрыто]



Я знаю, что строка "foobar" генерирует хэш SHA 256 c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2 используя
http://hash.online-convert.com/sha256-generator



однако оболочка командной строки:



hendry@x201 ~$ echo foobar | sha256sum 
aec070645fe53ee3b3763059376134f058cc337247c978add178b6ccdfb0019f -


создается новый хэш. Чего мне не хватает?

598   6  

6 ответов:

echo обычно выводит новую строку, которая подавляется с помощью -n. Попробуйте это:

echo -n foobar | sha256sum

если вы установили openssl, вы можете использовать:

echo -n "foobar" | openssl dgst -sha256

для других алгоритмов вы можете заменить -sha256 С -md4,-md5,-ripemd160,-sha,-sha1,-sha224,-sha384,-sha512 или -whirlpool.

если команда sha256sum недоступна (например, на mavericks), вы можете использовать:

echo -n "foobar" | shasum -a 256

echo -n работает и вряд ли когда-нибудь исчезнет из-за массового использования, однако в последних версиях стандарт POSIX, новые соответствующие приложения " рекомендуется использовать printf".

Я считаю, что echo выводит пустую строку. Попробуйте использовать -n в качестве параметра для echo, чтобы пропустить новую строку.

echo создает завершающий символ новой строки, который также хэшируется. попробуйте:

/bin/echo -n foobar | sha256sum 

Comments

    Ничего не найдено.