MD5 hash programmā Python
Kriptogrāfiskās jaucējzīmes tiek izmantotas ikdienas dzīvē, piemēram, digitālajos parakstos, ziņojumu autentifikācijas kodos, manipulāciju noteikšanā, pirkstu nospiedumos, kontrolsummās (ziņojuma integritātes pārbaude), jaucēj tabulās, paroļu glabāšanā un daudz ko citu. Tos izmanto arī ziņojumu nosūtīšanai tīklā drošības nolūkos vai ziņojumu glabāšanai datu bāzēs.
Ir definētas daudzas jaucējfunkcijas hashlib bibliotēka python valodā. Šis raksts attiecas uz MD5 jaucējkoda skaidrojumu un darbību.
Šī jaucējfunkcija pieņem baitu secību un atgriež 128 bitu jaucējvērtība , ko parasti izmanto, lai pārbaudītu datu integritāti, taču tai ir drošības problēmas. Saistītās funkcijas:
- encode() : pārvērš virkni baitos, lai tā būtu pieņemama ar jaucējfunkciju. digest() : atgriež kodētos datus baitu formātā. hexdigest() : atgriež kodētos datus heksadecimālā formātā.
Piezīme:
Md5 bibliotēka bija Python bibliotēka, kas nodrošināja vienkāršu interfeisu MD5 jaucējvārdu ģenerēšanai.
Šī bibliotēka ir novecojusi par labu hashlib bibliotēkai, kas nodrošina elastīgāku un drošāku saskarni jaucējkodu ģenerēšanai.
Tālāk redzamais kods parāda MD5 jaucējfunkcijas darbību, pieņemot baitus un izvadi kā baitus.
Python3
# 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())> |
Izvade:
The byte equivalent of hash is : b'xf1xe0ix~xcetSx1dx11%Yx94hq'
Paskaidrojums: Iepriekš minētais kods aizņem baitu, un to var pieņemt hash funkcija. Md5 jaucējfunkcija to kodē un pēc tam, izmantojot digest(), tiek izdrukāta baitam ekvivalenta kodēta virkne.
Zemāk redzamais kods parāda, kā izmantot virkni kā kodētās vērtības ievades un izejas heksadecimālo ekvivalentu.
Python3
# 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())> |
Izvade:
The hexadecimal equivalent of hash is : f1e069787ece74531d112559945c6871
Paskaidrojums: Iepriekš minētais kods ņem virkni un pārvērš to baitu ekvivalentā, izmantojot encode (), lai to varētu pieņemt hash funkcija. Md5 jaucējfunkcija to kodē un pēc tam, izmantojot hexdigest(), tiek izdrukāta heksadecimālā ekvivalenta kodēta virkne.