Kriptografinės maišos naudojamos kasdieniame gyvenime, pavyzdžiui, skaitmeniniams parašams, pranešimų autentifikavimo kodams, manipuliacijų aptikimui, pirštų atspaudams, kontrolinėms sumoms (pranešimo vientisumo tikrinimui), maišos lentelėms, slaptažodžių saugojimui ir dar daugiau. Jie taip pat naudojami siunčiant pranešimus tinkle saugumo sumetimais arba žinučių saugojimui duomenų bazėse.
Yra daug maišos funkcijų, apibrėžtų hašlibas biblioteka python. Šiame straipsnyje aptariamas MD5 maišos paaiškinimas ir veikimas.
Ši maišos funkcija priima baitų seką ir grąžina 128 bitų maišos vertė , paprastai naudojamas duomenų vientisumui patikrinti, tačiau turi saugumo problemų. Susijusios funkcijos:
- encode() : konvertuoja eilutę į baitus, kad būtų priimtina maišos funkcijai. digest() : grąžina užkoduotus duomenis baitų formatu. hexdigest() : grąžina užkoduotus duomenis šešioliktainiu formatu.
Pastaba:
Md5 biblioteka buvo Python biblioteka, kuri suteikė paprastą sąsają MD5 maišoms generuoti.
Ši biblioteka buvo nebenaudojama, o jos naudai naudojama „hashlib“ biblioteka, kuri suteikia lankstesnę ir saugesnę maišos generavimo sąsają.
Žemiau pateiktas kodas parodo MD5 maišos veikimą, priimant baitus ir išvestį kaip baitus.
Python3
powershell mažesnis arba lygus
gijų sinchronizavimas
# 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())> |
>
anotacijos spyruokliniuose batuose
>
Išvestis:
The byte equivalent of hash is : b'xf1xe0ix~xcetSx1dx11%Yx94hq'>
Paaiškinimas: Aukščiau pateiktas kodas užima baitus ir gali būti priimtas maišos funkcija. Md5 maišos funkcija ją užkoduoja, o tada naudojant digest (), išspausdinama baitų ekvivalento koduota eilutė.
Toliau pateiktame kode parodyta, kaip eilutę naudoti kaip koduotos vertės įvesties ir išvesties šešioliktainį ekvivalentą.
Python3
mysql sukurti vartotoją
# 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())> |
kiek miestų Jungtinėse Amerikos Valstijose
>
>
Išvestis:
The hexadecimal equivalent of hash is : f1e069787ece74531d112559945c6871>
Paaiškinimas: Aukščiau pateiktas kodas paima eilutę ir konvertuoja ją į baitų ekvivalentą naudojant kodą (), kad jį galėtų priimti maišos funkcija. Md5 maišos funkcija ją užkoduoja, o tada naudojant hexdigest(), išspausdinama šešioliktainio ekvivalento koduota eilutė.