Kryptografiska hash används i vardagen som i digitala signaturer, meddelandeautentiseringskoder, manipulationsdetektering, fingeravtryck, kontrollsummor (meddelandeintegritetskontroll), hashtabeller, lösenordslagring och mycket mer. De används också för att skicka meddelanden över nätverket för säkerhet eller för att lagra meddelanden i databaser.
Det finns många hash-funktioner definierade i hashlib bibliotek i python. Den här artikeln handlar om förklaringar och hur MD5-hash fungerar.
Denna hashfunktion accepterar sekvens av byte och returnerar 128 bitars hashvärde , vanligtvis används för att kontrollera dataintegritet men har säkerhetsproblem. Funktioner associerade:
- encode() : Konverterar strängen till byte för att vara acceptabel av hashfunktion. digest() : Returnerar den kodade datan i byteformat. hexdigest() : Returnerar kodad data i hexadecimalt format.
Notera:
md5-biblioteket var ett Python-bibliotek som gav ett enkelt gränssnitt för att generera MD5-hashar.
Det här biblioteket har fasats ut till förmån för hashlib-biblioteket, som ger ett mer flexibelt och säkert gränssnitt för att generera hash.
Nedanstående kod visar hur MD5-hash accepterar byte och matas ut som byte.
Python3
vad är kataloginlämning
sträng till array 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())> |
>
string.compare c#
>
Produktion:
The byte equivalent of hash is : b'xf1xe0ix~xcetSx1dx11%Yx94hq'>
Förklaring : Ovanstående kod tar byte och kan accepteras av hashfunktionen. md5-hashfunktionen kodar den och sedan med digest(), skrivs byteekvivalent kodad sträng ut.
Nedanstående kod demonstrerade hur man tar sträng som in- och utmatning av hexadecimal motsvarighet till det kodade värdet.
Python3
binärt sökträd]
# 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())> |
länkad lista i java
>
>
Produktion:
The hexadecimal equivalent of hash is : f1e069787ece74531d112559945c6871>
Förklaring : Ovanstående kod tar sträng och konverterar den till byte-ekvivalenten med hjälp av encode() så att den kan accepteras av hash-funktionen. md5-hashfunktionen kodar den och sedan skrivs den ut med hexdigest(), hexadecimal ekvivalent kodad sträng.