⊗ppPmAuRHS 424 of 447 menu

ලියාපදිංචියේදී ලුණු එකතු කිරීම

එබැවින්, ඔබ දැනටමත් දන්නවා md5 හරහා හැෂ් කිරීම යනු ආපසු හැරවිය නොහැකි ක්‍රියාවලියක් වන අතර හැකර් කෙනෙකුට, හැෂ් එකට ප්‍රවේශය ලැබුණත්, එම හැෂ් එක භාවිතා කරමින් මුරපදය ලබා ගත නොහැක.

ඇත්ත වශයෙන්ම මෙම ප්‍රකාශය හරියටම සත්‍ය නොවේ - වර්තමානයේ දෞෂ්ටයානු භාවයෙන් යුත් හැකර්වරුන් විසින් ජනප්‍රිය සහ එතරම් නොවන මුරපදවල හැෂ් පුස්තකාල සම්පාදනය කර ඇත එබැවින් ඕනෑම මෝඩයෙකුට මුරපදය විධිමත් ලෙස විසඳා ගත හැකිය, එහි හැෂ් එක ගූගල් කිරීමෙන් පමණි.

අදාළ වන්නේ ප්‍රමාණවත් තරම් සරල, ජනප්‍රිය මුරපද ගැන ය.

උදාහරණයක් ලෙස, 827ccb0eea8a706c4c34a16891f84e7b යන හැෂ් එක ගූගල් කර බලන්න, එවිට ඔබට කෙලින්ම ගූගල් සෙවීමේදී පෙනෙනු ඇති එය '12345' යන මුරපදය බව.

ප්‍රමාණවත් තරම් සංකීර්ණ මුරපදවල හැෂ් මේ ආකාරයෙන් විසඳා ගත නොහැක (උත්සාහ කර බලන්න).

ඔබ අසන්න පුළුවන්, එහෙනම් ගැටලුව කුමක් ද කියා - අපි හැමෝම සංකීර්ණ මුරපද සමඟ ලියාපදිංචි වෙමු. කෙසේ වෙතත්, ගැටලුවක් තිබේ - බොහෝ භාවිතාකරන්නන් තමන්ගේ දත්තවල ආරක්ෂාව ගැන සිතන්නේ නැත සහ ප්‍රමාණවත් තරම් සරල මුරපද ඇතුළු කළ හැකිය.

ලියාපදිංචියේදී අපට නඩත්තු කරන්නට සලස්වා ගත හැකිය වැඩි දිග මුරපද, සීමා කිරීම, උදාහරණයක් වශයෙන්, අවම අකුරු සංඛ්‍යාව 6 හෝ 8 කින්, කෙසේ වෙතත්, තවමත් ඇති වනු ඇත '123456' හෝ '12345678' වර්ගයේ මුරපද.

ඇත්තෙන්ම, වඩා බුද්ධිමත් ඇල්ගොරිතමයක් සොයා ගත හැකිය මුරපදයේ සංකීර්ණතාව පරීක්ෂා කිරීම, නමුත් වෙනත් එකක් තිබේ විසඳුම.

මෙම විසඳුමේ සාරය මෙයයි: මුරපද ලුණු යෙදිය යුතුය. ලුණු - මෙය විශේෂ අහඹු පේළියකි, ලියාපදිංචියේදී මුරපදයට එකතු කරනු ලැබේ සහ හැෂ් එක දැන් ගණනය කරනු ලබන්නේ සරල නොවේ වර්ගයේ මුරපදයකින්, නමුත් ලුණු+මුරපදය යන පේළියෙන්, එනම් ලුණු යෙදූ මුරපදයෙනි.

එනම් ලියාපදිංචියේදී ඔබ කරනවා මේ වගේ යමක්:

<?php $salt = '1sJg3hfdf'; // ලුණු - සංකීර්ණ අහඹු පේළිය $password = md5($salt . $_POST['password']); // මුරපදය ලුණු යෙදූ හැෂ් එකකට පරිවර්තනය කරන්න ?>

මෙම අවස්ථාවේදී ලුණු එක සෑම භාවිතාකරන්නෙකු සඳහාම වෙනස් වේ, එය අහඹු ලෙස උත්පාදනය කිරීමට අවශ්‍ය වනු ඇත ලියාපදිංචි වීමේ මොහොතේ.

මෙය සිදු කරන සූදානම් ශ්‍රිතය මෙන්න:

<?php function generateSalt() { $salt = ''; $saltLength = 8; // ලුණුවල දිග for($i = 0; $i < $saltLength; $i++) { $salt .= chr(mt_rand(33, 126)); // ASCII-table වලින් අකුරක් } return $salt; } ?>

මෙම ශ්‍රිතය භාවිතා කරමින් අපගේ කේතය මෙහි පරිවර්තනය කළ හැකිය:

<?php $salt = generateSalt(); // ලුණු $password = md5($salt . $_POST['password']); // ලුණු යෙදූ මුරපදය ?>

මම නැවතත් පුනරුච්චාරණය කරමි, මේවා වෙනස් කිරීම් විය ලියාපදිංචිය - දත්ත සමුදායේ අපි සුළු හැෂ් එකක් සුරකින්නේ නැත මුරපදය, නමුත් ලුණු යෙදූ මුරපදයේ හැෂ් එක.

මෙය තවමත් හැම දෙයක්ම නොවේ: භාවිතාකරන්නන් සමඟ වගුවේ ක්ෂේත්‍ර login සහ password අවශ්‍ය වේ තවදුරටත් ක්ෂේත්‍රයක් සාදන්න salt, එහි අපි සෑම භාවිතාකරන්නෙකුගේම ලුණු ගබඩා කරන්නෙමු.

ලුණු යෙදූ මුරපදය සමඟ ඉහත විස්තර කර ඇති ලියාපදිංචිය ක්‍රියාත්මක කරන්න.

සිංහල
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න