logo

MD5 hash v Pythonu

Kryptografické hashe se používají v každodenním životě, jako jsou digitální podpisy, ověřovací kódy zpráv, detekce manipulace, otisky prstů, kontrolní součty (kontrola integrity zprávy), hashovací tabulky, ukládání hesel a mnoho dalšího. Používají se také při odesílání zpráv po síti pro zabezpečení nebo ukládání zpráv do databází.
Existuje mnoho hashovacích funkcí definovaných v hashlib knihovna v pythonu. Tento článek se zabývá vysvětlením a fungováním hashe MD5.

MD5 Hash

Tato hašovací funkce přijímá sekvenci bajtů a vrací 128bitová hash hodnota , obvykle se používá ke kontrole integrity dat, ale má bezpečnostní problémy. Přidružené funkce:



    encode() : Převede řetězec na bajty, aby byl přijatelný hashovací funkcí. digest() : Vrátí zakódovaná data v bajtovém formátu. hexdigest() : Vrátí zakódovaná data v hexadecimálním formátu.

Poznámka:
Knihovna md5 byla knihovna Pythonu, která poskytovala jednoduché rozhraní pro generování hashů MD5.
Tato knihovna byla zastaralá ve prospěch knihovny hashlib, která poskytuje flexibilnější a bezpečnější rozhraní pro generování hashů.

Níže uvedený kód demonstruje fungování hashe MD5, který přijímá bajty a vydává je jako bajty.

Python3



začíná javou


jak číst soubor csv v jazyce Java





# 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())>

>

předobjednávkový průchod stromu
>

Výstup:

The byte equivalent of hash is : b'xf1xe0ix~xcetSx1dx11%Yx94hq'>

Vysvětlení : Výše uvedený kód zabírá bajt a může být přijat hashovací funkcí. Hashovací funkce md5 jej zakóduje a poté pomocí digest() vytiskne zakódovaný řetězec ekvivalentní bajtu.
Níže uvedený kód ukazuje, jak vzít řetězec jako vstupní a výstupní hexadecimální ekvivalent zakódované hodnoty.

Python3


python sort dictionary



# 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())>

návrhový vzor stavitele

>

>

Výstup:

The hexadecimal equivalent of hash is : f1e069787ece74531d112559945c6871>

Vysvětlení : Výše uvedený kód vezme řetězec a převede ho na bajtový ekvivalent pomocí encode() tak, aby jej mohla přijmout hašovací funkce. Hashovací funkce md5 jej zakóduje a poté pomocí hexdigest() vytiskne zakódovaný řetězec ekvivalentní v hexadecimální soustavě.