⊗ppPmAuRHS 424 of 447 menu

Kuongeza Chumvi kwenye Usajili

Kwa hivyo, tayari unajua kuwa kutenganisha kupitia md5 ni mchumo usio wa kubadilishwa na hacker, aliyepata uhakika wa mchumo, hataweza kupata kupitia mchumo huu nywila.

Kweli kauli hii si sahihi kabisa - kwa sasa wahalifu wameandika maktaba ya michumo ya nywila maarufu na visivyo vya kawaida na mtu yeyote mpuuzi anaweza kufumbua nywila, tu kwa kutafuta mchumo wake kwenye wavuti.

Inahusu nywila rahisi, za kawaida.

Tafuta kwenye wavuti, kwa mfano, mchumo 827ccb0eea8a706c4c34a16891f84e7b na mara moja kwenye utafutaji utaona, kwamba hii ni nywila '12345'.

Michumo ya nywila ngumu kwa kiasi kikubwa kwa njia hii hawezi kufumbuliwa (jaribu).

Unaweza kuuliza, basi shida iko wapi - wacha sisi sote tujisajili kwa nywila ngumu. Hata hivyo, kuna shida - wengi wa watumiaji hawazami kuhusu usalama wa data zao na wanaweza kuingiza nywila rahisi kwa kiasi kikubwa.

Tunaweza wakati wa usajili kulazimu watumiaji kubuni nywila refu zaidi, kwa kuzuia, kwa mfano, kiwango cha chini cha herufi 6 au 8, hata hivyo, bado zitakuwapo nywila za aina '123456' au '12345678'.

Bila shaka, unaweza kubuni algoriti za busara zaidi za kuangalia ugumu wa nywila, lakini kuna suluhisho lingine.

Kiini cha suluhisho hili ni hili: nywila zinahitaji kuongezewa chumvi. Chumvi - hii ni mfuatano maalum wa nasibu, ambao utaongezwa kwenye nywila wakati wa usajili na mchumo tayari utahesabiwa sio kutoka kwa nywila rahisi za aina, bali kutoka kwa mfuatano chumvi+nywila, ya maana kutoka kwa nywila zilizo na chumvi.

Yaani wakati wa usajili utafanya kitu kama hiki:

<?php $salt = '1sJg3hfdf'; // chumvi - mfuatano mgumu wa nasibu $password = md5($salt . $_POST['password']); // badilisha nywila kuwa mchumo wenye chumvi ?>

Wakati huo chumvi itakuwa tofauti kwa kila mtumiaji, inahitajika kutengenezwa kwa nasibu wakati wa usajili.

Hapa kuna utendaji tayari, ambayo utafanya hivi:

<?php function generateSalt() { $salt = ''; $saltLength = 8; // urefu wa chumvi for($i = 0; $i < $saltLength; $i++) { $salt .= chr(mt_rand(33, 126)); // herufi kutoka kwenye jedwali la ASCII } return $salt; } ?>

Kwa kutumia utendaji huu unaweza kuandika tena msimbo wetu hivi:

<?php $salt = generateSalt(); // chumvi $password = md5($salt . $_POST['password']); // nywila zilizo na chumvi ?>

Nairudie tena, kwamba hii ilikuwa ni mabadiliko wakati wa usajili - kwenye Hifadhidata tunaweka sio tu mchumo wa nywila, bali mchumo wa nywila zilizo na chumvi.

Hii haitoshi: kwenye jedwali la watumiaji badala ya sehemu login na password inahitajika kutengenezwa na sehemu salt, ambayo tutaweka kuhifadhi chumvi ya kila mtumiaji.

Tekeleza usajili ulioelezewa hapo juu ukiwa na nywila zilizo na chumvi.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa