Els hash criptogràfics s'utilitzen a la vida diària, com en signatures digitals, codis d'autenticació de missatges, detecció de manipulació, empremtes dactilars, sumes de comprovació (comprovació d'integritat del missatge), taules hash, emmagatzematge de contrasenyes i molt més. També s'utilitzen per enviar missatges a la xarxa per seguretat o emmagatzemar missatges a bases de dades.
Hi ha moltes funcions hash definides al fitxer hashlib biblioteca en python. Aquest article tracta de l'explicació i el funcionament del hash MD5.
Aquesta funció hash accepta seqüències de bytes i retorna Valor hash de 128 bits , normalment s'utilitza per comprovar la integritat de les dades, però té problemes de seguretat. Funcions associades:
- encode() : converteix la cadena en bytes perquè sigui acceptable per la funció hash. digest() : retorna les dades codificades en format de bytes. hexdigest() : retorna les dades codificades en format hexadecimal.
Nota:
La biblioteca md5 era una biblioteca de Python que proporcionava una interfície senzilla per generar hash MD5.
Aquesta biblioteca ha estat obsoleta a favor de la biblioteca hashlib, que proporciona una interfície més flexible i segura per generar hash.
El codi següent mostra el funcionament del hash MD5 que accepta bytes i la sortida com a bytes.
Python 3
linux $home
denominació de les convencions de 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())> |
prova de capturar el bloc java
>
>
Sortida:
The byte equivalent of hash is : b'xf1xe0ix~xcetSx1dx11%Yx94hq'>
Explicació: El codi anterior pren bytes i pot ser acceptat per la funció hash. La funció hash md5 la codifica i després s'imprimeix amb digest(), una cadena codificada equivalent en bytes.
El codi següent mostra com prendre una cadena com a equivalent hexadecimal d'entrada i sortida del valor codificat.
Python 3
canviar 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())> |
decodificació js base64
>
>
Sortida:
The hexadecimal equivalent of hash is : f1e069787ece74531d112559945c6871>
Explicació: El codi anterior pren una cadena i la converteix en l'equivalent en bytes mitjançant encode() perquè la funció hash l'accepti. La funció hash md5 la codifica i després s'imprimeix amb hexdigest(), una cadena codificada equivalent hexadecimal.