Estou entrando:
appletree:~ somename$ shasum -a 512 <<< test
E a saída é:
0e3e75234abc68f4378a86b3f4b32a198ba301845b0cd6e50106e874345700cc6663a86c1ea125dc5e92be17c98f9a0f85ca9d5f595db2012f7cc3571945c123 -
Então vou a alguns geradores de hash online e insiro "test" também. Suas respostas são:
ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b143732c304cc5fa9ad8e6f57f50028a8ff
http://passwordsgenerator.net/sha512-hash-generator/ :
EE26B0DD4AF7E749AA1A8EE3C10AE9923F618980772E473F8819A5D4940E0DB27AC185F8A0E1D5F84F88BC887FD67B143732C304CC5FA9AD8E6F57F50028A8FF
Então, os geradores online concordam. O que estou faltando no comando do console do Mac?
Eu estava lendo as man
páginas. Vejo que é implementado usando uma biblioteca Perl. No entanto, acho que sha512 seria uma designação única, então tenho que me aprofundar mais.
Parece haver uma pergunta duplicada: Por que meu hash da linha de comando é diferente dos resultados do hash MD5 on-line? . Enquanto a outra pergunta está no mesmo contexto, que é um espaço em branco inesperado, ela surge de uma situação diferente.
<<<
é uma string here e existe uma opção de design para como as strings here adicionam nova linha.echo 'bla' |
significa canalização, que invoca subcascas e também possui argumentos para lidar com a nova linha. Aqui parece que você deve considerar a versão do shell .
Respostas:
A entrada para a
shasum
chamada na pergunta étest\n
(com uma nova linha), nãotest
.Se você fornecer
test
sem nova linha,shasum
obterá o mesmo resultado das ferramentas on-line que você cita:A propósito, acho que não há nada de especial ou específico do MacOS sobre o
shasum
encontrado no MacOS; Eu acho queshasum
faz parte da distribuição Perl padrão - instalada junto com, por exemplo, operl
comando.fonte
Tente o seguinte:
Conhecendo os shell do Unix, você provavelmente está recebendo um 0x0a indesejado no final dessa string.
fonte
od
rotulará caracteres de controle e tornará o mais aparente; tente:od -t a -t x1 <<< test
(nunca realmente usado hexdump),