Odpowiedzi:
Możesz użyć
openssl dgst -sha256 <file>
Testowane na LibreSSL 2.6.4 na macOS 10.14 (Mojave).
Przed Mojave możesz użyć openssl sha -sha256 <file>lub openssl sha256 <file>.
Aby sprawdzić opcje wiersza poleceń za pomocą polecenia openssl sha: openssl sha -help.
System OS X jest dostarczany z poleceniem shasum .
> which shasum
/usr/bin/shasum
Możesz użyć:
> shasum -a 256 <file>
Więcej szczegółów:
> shasum --help
Usage: shasum [OPTION]... [FILE]...
Print or check SHA checksums.
With no FILE, or when FILE is -, read standard input.
-a, --algorithm 1 (default), 224, 256, 384, 512, 512224, 512256
-b, --binary read in binary mode
-c, --check read SHA sums from the FILEs and check them
-t, --text read in text mode (default)
-p, --portable read in portable mode
produces same digest on Windows/Unix/Mac
-0, --01 read in BITS mode
ASCII '0' interpreted as 0-bit,
ASCII '1' interpreted as 1-bit,
all other characters ignored
The following two options are useful only when verifying checksums:
-s, --status don't output anything, status code shows success
-w, --warn warn about improperly formatted checksum lines
-h, --help display this help and exit
-v, --version output version information and exit
When verifying SHA-512/224 or SHA-512/256 checksums, indicate the
algorithm explicitly using the -a option, e.g.
shasum -a 512224 -c checksumfile
The sums are computed as described in FIPS-180-4. When checking, the
input should be a former output of this program. The default mode is to
print a line with checksum, a character indicating type (`*' for binary,
` ' for text, `?' for portable, `^' for BITS), and name for each FILE.
Report shasum bugs to mshelor@cpan.org
which shashumnic nie wyświetla
/usr/binopcjonalnymi rzeczami. Będę musiał sprawdzić, czy dzisiaj tak jest. Zaktualizuje odpowiedź, jeśli rzeczywiście pochodzi z instalacji XCL.
shasumzwraca inny hash niż openssl sha -sha256 <file>(przy czym ten ostatni jest poprawnym hash). Masz pomysł, dlaczego?
shasumto skrypt perla, używany Digest::SHAdo obliczania wartości skrótu. Dla tego samego pliku otrzymuję dokładnie ten sam SHA przy użyciu albo shasumalbo openssldo SHA-256obliczenia skrótu. Zobacz: gist.github.com/ianchesal/82a064b8971eb5e717ce84f3ded6dbfd
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 -topcją 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! )
shasum -a 256 -c <<< '(hashToCompare) [mode character](filepath)'
W podziale :
Rzeczywiste polecenie shasum toshasum -a 256 -c
-a 256mówi, shasumaby użyć sha256 .
-ckaże shasum„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órych shasumkomenda 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ówi shasumto o trybie, w którym wygenerowano skrót. (Uwaga: shasumdomyś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:
shasum -a 256 -c <<< 'f05ede012b8a5d0e7c9cf17fee0fa1eb5cd8131f3c703ed14ea347f25be11a28 *MAMP_MAMP_PRO_5.2.pkg'
Uwaga: wynikiem tego polecenia (dla mojego przykładowego pliku) jest albo -
DOBRZE:
MAMP_MAMP_PRO_5.2.pkg: OK
lub
AWARIA:
MAMP_MAMP_PRO_5.2.pkg:
AWARIA shasum: OSTRZEŻENIE: 1 obliczona suma kontrolna NIE pasuje
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ć?
--binaryopcją)? 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, Udla 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?