Skróty kryptograficzne są używane na co dzień, np. w podpisach cyfrowych, kodach uwierzytelniających wiadomości, wykrywaniu manipulacji, odciskach palców, sumach kontrolnych (sprawdzanie integralności wiadomości), tabelach skrótów, przechowywaniu haseł i wielu innych. Wykorzystuje się je również do wysyłania wiadomości przez sieć ze względów bezpieczeństwa lub przechowywania wiadomości w bazach danych.
Istnieje wiele funkcji skrótu zdefiniowanych w pliku hashlib biblioteka w Pythonie. W tym artykule omówiono wyjaśnienie i działanie skrótu MD5.
Ta funkcja mieszająca akceptuje sekwencję bajtów i zwraca 128-bitowa wartość skrótu , zwykle używany do sprawdzania integralności danych, ale ma problemy z bezpieczeństwem. Funkcje powiązane:
- encode() : Konwertuje ciąg na bajty akceptowalne przez funkcję skrótu. Digest() : Zwraca zakodowane dane w formacie bajtowym. hexdigest() : Zwraca zakodowane dane w formacie szesnastkowym.
Notatka:
Biblioteka md5 była biblioteką Pythona, która zapewniała prosty interfejs do generowania skrótów MD5.
Ta biblioteka została wycofana na rzecz biblioteki hashlib, która zapewnia bardziej elastyczny i bezpieczny interfejs do generowania skrótów.
Poniższy kod demonstruje działanie skrótu MD5 akceptującego bajty i dane wyjściowe jako bajty.
Python3
rozmiar mojego monitora
zamiana pamięci
# Python 3 code to demonstrate the> # working of MD5 (byte - byte)> import> hashlib> # encoding techcodeview.com using md5 hash> # function> result> => hashlib.md5(b> 'techcodeview.com'> )> # printing the equivalent byte value.> print> ('The byte equivalent of> hash> is> : ', end> => '')> print> (result.digest())> |
>
>
mockito, kiedy tylko chcesz
Wyjście:
The byte equivalent of hash is : b'xf1xe0ix~xcetSx1dx11%Yx94hq'>
Wyjaśnienie : Powyższy kod zajmuje bajt i może zostać zaakceptowany przez funkcję skrótu. Funkcja skrótu md5 koduje go, a następnie za pomocą funkcji Digest() drukowany jest zakodowany ciąg znaków odpowiadający bajtowi.
Poniższy kod demonstruje, jak przyjąć ciąg znaków jako wejściowy i wyjściowy szesnastkowy odpowiednik zakodowanej wartości.
Python3
sortowanie list Java
# Python 3 code to demonstrate the> # working of MD5 (string - hexadecimal)> import> hashlib> # initializing string> str2hash> => 'techcodeview.com'> # encoding techcodeview.com using encode()> # then sending to md5()> result> => hashlib.md5(str2hash.encode())> # printing the equivalent hexadecimal value.> print> ('The hexadecimal equivalent of> hash> is> : ', end> => '')> print> (result.hexdigest())> |
ile miast w stanach zjednoczonych ameryki
>
>
Wyjście:
The hexadecimal equivalent of hash is : f1e069787ece74531d112559945c6871>
Wyjaśnienie : Powyższy kod pobiera ciąg znaków i konwertuje go na odpowiednik bajtu za pomocą encode(), tak aby mógł zostać zaakceptowany przez funkcję skrótu. Funkcja skrótu md5 koduje go, a następnie za pomocą hexdigest() drukowany jest zakodowany ciąg znaków w postaci szesnastkowego odpowiednika.