logo

Hash MD5 w Pythonie

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.

Hash 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.