Kryptografiske hasher brukes i hverdagen som i digitale signaturer, meldingsautentiseringskoder, manipulasjonsdeteksjon, fingeravtrykk, sjekksummer (meldingsintegritetssjekk), hashtabeller, passordlagring og mye mer. De brukes også til å sende meldinger over nettverket for sikkerhet eller lagring av meldinger i databaser.
Det er mange hash-funksjoner definert i hashlib bibliotek i python. Denne artikkelen omhandler forklaring og bruk av MD5-hash.
Denne hash-funksjonen aksepterer sekvens av byte og returnerer 128 bit hash-verdi , vanligvis brukt til å sjekke dataintegritet, men har sikkerhetsproblemer. Funksjoner tilknyttet:
- encode() : Konverterer strengen til byte for å være akseptabel av hash-funksjonen. digest() : Returnerer de kodede dataene i byteformat. hexdigest() : Returnerer de kodede dataene i heksadesimalt format.
Merk:
md5-biblioteket var et Python-bibliotek som ga et enkelt grensesnitt for å generere MD5-hasher.
Dette biblioteket har blitt avviklet til fordel for hashlib-biblioteket, som gir et mer fleksibelt og sikkert grensesnitt for å generere hasher.
Koden nedenfor viser hvordan MD5-hash aksepterer byte og utdata som byte.
Python3
strengen er tom
hvordan åpne en json-fil
# 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())> |
>
Java swing opplæring
>
Produksjon:
The byte equivalent of hash is : b'xf1xe0ix~xcetSx1dx11%Yx94hq'>
Forklaring: Koden ovenfor tar byte og kan aksepteres av hash-funksjonen. md5-hash-funksjonen koder den og ved hjelp av digest(), skrives en byte-ekvivalent kodet streng ut.
Koden nedenfor demonstrerte hvordan man tar streng som input og utgang heksadesimal ekvivalent av den kodede verdien.
Python3
typer programvaretesting
# 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())> |
json i json eksempel
>
>
Produksjon:
The hexadecimal equivalent of hash is : f1e069787ece74531d112559945c6871>
Forklaring: Koden ovenfor tar streng og konverterer den til byte-ekvivalenten ved å bruke encode() slik at den kan aksepteres av hash-funksjonen. md5-hash-funksjonen koder den, og deretter skrives den ut ved hjelp av hexdigest(), en heksadesimal ekvivalent kodet streng.