Aby sprawdzić sha1 pliku, którego bym użył, openssl sha1 <file>
nie jestem pewien, czego użyć do sprawdzenia skrótu sha256 pliku, ale co byś polecił?
macos
command-line
encryption
erikvold
źródło
źródło
System OS X jest dostarczany z poleceniem shasum .
Możesz użyć:
Więcej szczegółów:
źródło
which shashum
nic nie wyświetla/usr/bin
opcjonalnymi rzeczami. Będę musiał sprawdzić, czy dzisiaj tak jest. Zaktualizuje odpowiedź, jeśli rzeczywiście pochodzi z instalacji XCL.shasum
zwraca inny hash niżopenssl sha -sha256 <file>
(przy czym ten ostatni jest poprawnym hash). Masz pomysł, dlaczego?shasum
to skrypt perla, używanyDigest::SHA
do obliczania wartości skrótu. Dla tego samego pliku otrzymuję dokładnie ten sam SHA przy użyciu alboshasum
alboopenssl
doSHA-256
obliczenia skrótu. Zobacz: gist.github.com/ianchesal/82a064b8971eb5e717ce84f3ded6dbfdTe
shasum
statki dowodzenia z OSX na chwilę teraz. Daje taki sam efekt, jak wopenssl sha -sha256
przypadkushasum
korzystania z-a 256
opcji.źródło
Aby wyjaśnić użyteczną odpowiedź @ John - która pozwala porównać dany skrót z jego plikiem w jednym poleceniu:
Enter
shasum -a 256 -c <<<
,następnie opcjonalną spację,
następnie pojedynczy tik (
'
),następnie skrót do porównania,
następnie spację
i znak trybu, w oparciu o sposób wygenerowania początkowego skrótu:
nic , jeśli skrót został utworzony z
-t
opcją lub bez (tryb tekstowy, który jest domyślny)gwiazdka (
*
), jeśli skrót został utworzony za pomocą-b
(tryb binarny)znak zapytania (
?
), jeśli skrót został utworzony za pomocą-p
(tryb przenośny)caret (
^
), jeśli skrót został utworzony za pomocą-0
(tryb bitów)następnie ścieżka do pliku,
a następnie zamykający pojedynczy tik (
'
).Podobnie jak w poniższym podziale, z wytyczaniem parenów wokół części skrótu i ścieżki plików oraz nawiasów kwadratowych wokół opcjonalnej części „postaci trybu”. ( Nie uwzględniaj parens ani nawiasów w prawdziwym życiu - są tutaj tylko po to, aby części były dobrze widoczne! )
W podziale :
Rzeczywiste polecenie shasum to
shasum -a 256 -c
-a 256
mówi,shasum
aby użyć sha256 .-c
każeshasum
„sprawdzić” podane dane wejściowe.Jest
<<<
to zestaw znaków specjalnych Unix / Linux, zwany operatorem „przekierowania”. Służy do karmienia czegoś wcześniejszym poleceniem. Korzystając z niego, mówimy, że podamy ciąg informacji, którychshasum
komenda ma użyć jako danych wejściowych.Ciąg informacji wejściowych musi zawierać otwierające i zamykające pojedyncze tiki, takie jak
'some string here'
, lub w tym przypadku, hash, znak trybu i ścieżka pliku do sprawdzenia.Część hash wewnątrz łańcucha nie potrzebuje niczego specjalnego - ale po niej musi być spacja.
Część znaku trybu może być niczym, gwiazdką (
*
), znakiem zapytania (?
) lub karetką (^
). Mówishasum
to o trybie, w którym wygenerowano skrót. (Uwaga:shasum
domyślnie nie ma znaku reprezentującego tryb tekstowy ).Filepath część, jest rzeczywista ścieżka do pliku, który ma zostać sprawdzony.
Oto prawdziwy przykład sprawdzający konkretny plik do pobrania MAMP z jego rzekomą wartością SHA-256 .
*
Charakter tryb był wymagany dla tej kontroli do pracy:Uwaga: wynikiem tego polecenia (dla mojego przykładowego pliku) jest albo -
DOBRZE:
lub
AWARIA:
źródło
shasum -c <<< '7cb77378a0749f2a9b7e09ea62ffb13febf3759f *sample.txt'
zwraca wiadomość*sample.txt: FAILED open or read
. Bez gwiazdkąsample.txt: OK
. Nie byłem jeszcze w stanie znaleźć podstawy użycia gwiazdki w innym miejscu. Czy możesz to wyjaśnić?--binary
opcją)? Ze strony podręcznika: „Podczas sprawdzania, wejście powinno być wcześniejszym wyjściem tego programu. Domyślnym trybem jest wydrukowanie wiersza z sumą kontrolną, znakiem wskazującym typ (*
dla binarnego,` `dla tekstu,U
dla UNIWERSALNEGO,^
dla BITÓW,?
dla urządzeń przenośnych) i nazwę dla każdego PLIKU ”. Więc znaki między sumą kontrolną a nazwą pliku zależą od trybu ustawionego podczas tworzenia sumy kontrolnej?Użyłbym tego polecenia.
Przykład:
źródło