OpenSSL создает SHA-хэш из оболочки stdin

Как сгенерировать хэш SHA-512 с помощью OpenSSL из командной строки без использования файла?

Я пробовал это

echo "password" | openssl dgst -sha512

но хэш выглядит неправильно (по сравнению с http://hash.online-convert.com/sha512-generator).

Ответ 1

Попробуйте echo -n "password".

Что происходит, это новый символ (строки), который добавляет echo в конец строки, получает хеширование. -n для echo подавляет это поведение.

Ответ 2

Если вы используете MacOS, вы можете наткнуться на случай, когда echo игнорирует аргумент -n. Чтобы обойти это, вызовите двоичный файл напрямую:

/bin/echo -n "password" | openssl sha512