md5sum - Jak obliczyć sumę kontrolną?
W tym artykule chciałbym pokazać jak w prosty sposób możemy na systemach Linux generować hashe algorytmem md5 z plików, bądź tekstów (ciągów znaków, stringów).
Po co komu hashe md5?
Algorytm md5, jest algorytmem stratnym, generującym 128-bitowy klucz (32 znaki) z dowolnych danych. Przez pojęcie algorytmu stratnego rozumiemy tu tę jego cechę, że podczas kodowania przekazanych danych informacje o nich są tracone, przez co nie ma możliwości dekodowania klucza. Z tego też powodu oraz w oparciu o fakt, że nawet niewielka zmiana danych wejściowych powoduje wygenerowanie zupełnie innego klucza, hashe md5 stosowane są jako sumy kontrolne plików, czy haseł, dzięki którym na za sadzie porównania klucza spodziewanego, z wygenerowanym dla danych otrzymanych, możemy określić poprawność tych danych (czy hasło się zgadza; czy plik został pobrany prawidłowo, nie został zmieniony etc.).
Jak generować klucze algorytmem md5 na systemach Linux?
Większość dystrybucji linuksowych wyposażona jest w program o nazwie md5sum, który jak możemy się spodziewać, służy do generowania hashy przy pomocy algorytmu md5, zarówno z plików jak i stringów. Czyli de facto, nie musimy nawet nic instalować.Zacznijmy od wygenerowania klucza dla podanego tekstu, np. "www.mblog.boo.pl". Najpopularniejszym rozwiązaniem będzie wydanie polecenia na kształt poniższego:
www.mblog.boo.plmateusz@mateusz-Aspire-5560:~$
mateusz@mateusz-Aspire-5560:~$ echo "www.mblog.boo.pl"
www.mblog.boo.pl
mateusz@mateusz-Aspire-5560:~$
e896cdd076dbcb2318a68477ce0278b4 -
$ echo "www.mblog.boo.pl" | md5sum
2871a91221f1a369d3a1d64a592476ab -
e896cdd076dbcb2318a68477ce0278b4 -
$ echo -n "www.mblog.boo,pl" | md5sum
51a120a9bd3e0944145f5cbfa1422301 -
Wspomniałem, że podejście z użyciem komendy echo, jest najpopularniejsze, ale nie jedyne. Możemy też przekazać tekst do md5sum zwyczajnie uruchamiając go, wpisując to co nas interesuje i zakończyć podawanie danych wysyłając sygnał EOT kombinacją klawiszy Ctrl+D:
www.mblog.boo.pl<tutaj Ctrl+D>e896cdd076dbcb2318a68477ce0278b4 -
A jak obliczyć sumę kontrolną z pliku?
Wiemy już jak obsłużyć stringi z md5sum, teraz czas na pliki. Tutaj sytuacja jest jeszcze prostsza, ponieważ wystarczy przekazać ścieżkę do pliku w argumencie do programu md5sum i wszystko zostanie policzone. Spójrzmy na dwa poniższe przykłady, jeden dla jednego pliku, a drugi dla wielu plików:e02b2fc03cc34581db0c3b2182265f99 plik1.txt
$ md5sum *.txt
e02b2fc03cc34581db0c3b2182265f99 plik1.txt
328004b1ecd6d69d41cda3f00efaba36 plik2.txt
afc8a28161d250de6880b4968e0bc5d8 plik3.txt
I to już wszystko, co miałem do przekazania w temacie obliczania kluczy md5 na systemach Linux. Rzecz prosta, a bardzo użyteczna więc dobrze wiedzieć, jak się za nią zabrać.
Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!