dodając notatkę, której może to dotyczyć: SHA-1 jest teraz zagrożony , co potwierdzają wspólne badania Google-CWI . TL; DR Nie używaj go nigdzie o wartości.
Wspaniały! Ale jak się uruchamiasz, sha1sum -cgdy {file}.sha1zawiera tylko skrót i nie ma nazwy pliku (tak często do pobrania z różnych stron Internetu)? Wymyśliłem for f in *.sha1; do echo "$(cat $f) ${f/.sha1/}"; done | sha1sum -c(uwaga podwójna spacja), ale to musi być znacznie prostsze.
Piotr Findeisen
3
lub shasum- domyślna SHA to (jeśli mam rację) SHA1. Również ustawić go z -a, --algorithmopcji:shasum -a 1
xealits
3
@PiotrFindeisen - Dane wyjściowe sha1sum są <hash> <full file path>wystarczające, aby sha1sum -c wiedział, który plik ma zweryfikować
CrazyPenguin
1
Przepraszam za moją ignorancję, ale dlaczego tak trudno jest sprawdzić sumę plików? Czy nie moglibyśmy po prostu zrobić sha1sum <file_path> <the_expected_hash> ?
Dzięki, choć nie sądzę, że powinieneś mieć tam *. Oto konkretny przykład: echo 'b78bb50bdac5ec8c108f34104f788e214ac23635 raspbian.zip' | sha1sum -c - sprawdzi nazwę pliku raspbian.zip w bieżącym katalogu.
Łukasza
1
To powinna być zaakceptowana odpowiedź. Utworzenie pliku jest niepotrzebnym pośrednikiem.
Joel B
Na wypadek, gdyby ktoś się tu dostał i był na komputerze Mac, między nazwą pliku a wyjściem shasum są dwie spacje od wersji OSX 10.13.3. Kiedy użyłem tylko jednego, otrzymałem niepoprawny błąd formatowania shasum -c
to jest askubunutu, więc bycie na Macu byłoby nie na temat;) ale to też powinno działać na ubuntu, więc +1
Jeff Puckett
4
O czym rozmawiacie? Tak, mam pomysł na sha1sum, ale powyższe informacje mylą, mówiąc najlepiej. Po pierwsze, Ubuntu nie wydaje się mieć plików sha1sum - tylko ciągi znaków na stronie internetowej, takiej jak ta dla Mate 16.04 Beta 1:
Aby sprawdzić integralność pobranego pliku .iso, należy otworzyć program terminalowy, wykonać polecenie „Pobieranie CD”, a następnie sha1sum. Po chwili terminal wygeneruje skrót, taki jak
Odpowiedzi:
sha1sum
Jeśli chcesz wysłać plik wraz z jego wyjściem sha1sum, przekieruj wyjście do pliku:
Wyślij oba pliki, a druga strona może ...
Powinien pokazać,
OK
czysha1
jest poprawny.źródło
sha1sum -c
gdy{file}.sha1
zawiera tylko skrót i nie ma nazwy pliku (tak często do pobrania z różnych stron Internetu)? Wymyśliłemfor f in *.sha1; do echo "$(cat $f) ${f/.sha1/}"; done | sha1sum -c
(uwaga podwójna spacja), ale to musi być znacznie prostsze.shasum
- domyślna SHA to (jeśli mam rację) SHA1. Również ustawić go z-a, --algorithm
opcji:shasum -a 1
<hash> <full file path>
wystarczające, aby sha1sum -c wiedział, który plik ma zweryfikowaćsha1sum <file_path> <the_expected_hash>
?Bez tworzenia lokalnego pliku:
Aby sprawdzić, przejdź do katalogu zawierającego
filename
i uruchom następującą komendę:źródło
echo 'b78bb50bdac5ec8c108f34104f788e214ac23635 raspbian.zip' | sha1sum -c -
sprawdzi nazwę pliku raspbian.zip w bieżącym katalogu.To jest bardzo proste.
Przejdź do terminala i wprowadź:
aby potwierdzić użycie skrótu sha1:
źródło
Dla tych, którzy są na Macu i nie mają zainstalowanego coreutils / sha1sum.
Przykład:
źródło
O czym rozmawiacie? Tak, mam pomysł na sha1sum, ale powyższe informacje mylą, mówiąc najlepiej. Po pierwsze, Ubuntu nie wydaje się mieć plików sha1sum - tylko ciągi znaków na stronie internetowej, takiej jak ta dla Mate 16.04 Beta 1:
Aby sprawdzić integralność pobranego pliku .iso, należy otworzyć program terminalowy, wykonać polecenie „Pobieranie CD”, a następnie sha1sum. Po chwili terminal wygeneruje skrót, taki jak
Następnie musimy przejść do strony internetowej i porównać ciągi znaków, aby sprawdzić, czy weryfikacja działa. Nie prawie tak łatwe, jak mogłoby być.
Dave,
źródło
Pyton
Python ma doskonałą
hashlib
bibliotekę, która pozwala na obliczanie wielu skrótów, w tymsha1
. Oto prosty skrypt, który może wykonać zadanie:Testowe uruchomienie:
Za pomocą jednego pliku:
Z glob:
źródło