Создание sha256 из командной строки Linux [закрыто]
Я знаю, что строка "foobar" генерирует хэш SHA 256 c3ab8ff13720e8ad9047dd39466b3c8974e592c2fa383d4a3960714caef0c4f2 используя
http://hash.online-convert.com/sha256-generator
однако оболочка командной строки:
hendry@x201 ~$ echo foobar | sha256sum
aec070645fe53ee3b3763059376134f058cc337247c978add178b6ccdfb0019f -
создается новый хэш. Чего мне не хватает?
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