පරිශීලකයෙකු තහවුරු කරන විට හෝ ඒ හා සමාන දෙයක් කරන විට ඔබ කිසිවිටෙක සරල පාඨයේ මුරපදයක් තබා නොගත යුතුය.
බොහෝ පුද්ගලයන් එකම මුරපදය භාවිතා කරන බැවින්, ප්රහාරකයෙකු සංකේතනය නොකළ මුරපද වල දත්ත සමුදායක් සොයා ගන්නේ නම්, ඒවා සම්බන්ධිත වෙබ් අඩවියට හෝ ගිණුමට ඇතුළු වීමට සහ වෙනත් ගිණුම් වෙත ප්රවේශ වීමට උත්සාහ කිරීමට පවා ගැළපෙන විද්යුත් තැපෑල සමඟ සම්බන්ධව පහසුවෙන් භාවිත කළ හැක.
මුරපදයක් සපයන විට මුරපද බොහෝ විට හැෂ් කරනු ලැබේ. ලුණු සමග හැෂ් කිරීමට සහ හැෂ් මුරපදය සමඟ ලුණු එකට තබා ගැනීමට උපදෙස් දෙනු ලැබේ.
ලුණු දැමීම හැෂ් බ්රවුන් සඳහා වට්ටෝරුවක එක් පියවරක් සේ පෙනෙනු ඇත, නමුත් ගුප්ත ලේඛන විද්යාවේදී, එය හෑෂ් ශ්රිතයක ආදානයට අහඹු දත්ත එකතු කිරීම අදහස් කරන්නේ ආදාන එක සමාන වුවත් හැෂ් සෑම විටම අද්විතීය ප්රතිඵලයක් ලබා දෙන බව සහතික කිරීමයි.
එහි ප්රතිඵලයක් වශයෙන්, ලුණු එකතු කිරීම මගින් නිර්මාණය කරන ලද සුවිශේෂී හෑෂ්, ශබ්ද කෝෂය සහ බෲට්-ෆෝස් නොබැඳි උත්සාහයන් අවහිර කරන අතරම, හෑෂ් ටේබල් ප්රහාර ඇතුළු ප්රහාරක ක්රම කිහිපයකින් අපව ආරක්ෂා කළ හැකිය.
මෙන්න, කේත කොටස්වල සහාය ඇතිව, අපි ඔබේ මුරපද සුරක්ෂිත කිරීමට 'bcrypt' භාවිතා කරන ආකාරය නිරූපණය කරන්නෙමු.
ඉතින්, 'bcrypt' යනු කුමක්ද?
Bcrypt යනු භාෂා කිහිපයකට සහය දක්වන සහ විශේෂ මුරපද සංකේතනය සපයන හැෂිං පුස්තකාලයකි. ඔබගේ මුරපදයේ ආරක්ෂාව වැඩි කිරීමට, එය ඔබගේ තන්තුව සංකේතනය කිරීමේදී අමතර අහඹු අක්ෂර (ලුණු) ස්වයංක්රීයව නිපදවයි.
ඔබ එන තන්තුවකට අමතර අක්ෂර කීයක් එක් කිරීමට අවශ්යද යන්න නිර්වචනය කිරීමටද ඔබට තේරිය හැක.
bcrypt පුස්තකාලය කියවන්නේ බයිට් කේතය මිස අමු නූල් නොවේ. එබැවින්, සංකේතනය සඳහා bcrypt වෙත එන මුරපද තන්තුවක් ඉදිරිපත් කිරීමට පෙර, ඔබ මුලින්ම එය සංකේතනය කළ යුතුය.
සංකේතනය කිරීම සහ කේතනය කිරීම එකම දේවල් නොවේ. සංකේතාංකන තාක්ෂණයකින් ආවරණය කිරීමට පෙර තන්තුවක් යන්ත්රයෙන් කියවිය හැකි බව එය සහතික කරයි.
පයිතන් හි මුරපදයක් සංකේතනය කිරීමට bcrypt භාවිතා කිරීම
පයිතන් bcrypt මුරපද සංකේතනය සරල කරයි. රාමුවක ආධාරයකින් තොරව මෙය කිරීමට අපි අවධානය යොමු කරමු. නමුත් කරදර නොවන්න, පරිශීලක ආදාන සුරැකීමට සහ දත්ත ගබඩාවෙන් ඒවා කියවන්නේ කෙසේදැයි ඔබ තේරුම් ගන්නේ නම්, රාමු තුළ ක්රියා පටිපාටිය සමාන වේ.
ස්ථාපනය
ඔබට අවශ්ය වන්නේ පයිතන් අතථ්ය පරිසරයක් සැකසීමට සහ පසුව PyCharm වැනි IDE භාවිතා කිරීමයි. පුස්තකාලය පළමුව ස්ථාපනය කළ යුතුය:
මුරපදය සංකේතනය කිරීම
එය ස්ථාපනය කිරීමෙන් පසු පෙළ සංකේතනය කිරීමට bcrypt භාවිතා කරන්නේ කෙසේදැයි බලමු:
ඉහත සඳහන් කළ පයිතන් කේතය සංකේතාත්මක බයිට් තන්තුවක් ක්රියාත්මක කර ප්රතිදානය කරයි. නමුත් ඔබ ස්ක්රිප්ට් එක ධාවනය කරන සෑම අවස්ථාවකම ප්රතිඵලය වෙනස් වේ. Bcrypt මෙම ක්රමය භාවිතා කරන්නේ සෑම පරිශීලකයෙකුටම විශේෂිතව සංකේතනය කර ඇති මුරපදයක් ඇති බව තහවුරු කර ගැනීමටයි.
එය, අහම්බෙන්, මුරපද සංකේතනය සඳහා වේ.
Bcrypt භාවිතයෙන් මුරපද සංසන්දනය සහ තහවුරු කිරීම
ඔබට හැෂ් කළ මුරපදය සුරැකීමට අවශ්ය නම් සහ එය සත්යාපනය සඳහා පරිශීලකයෙකු ඉදිරිපත් කළ මුරපදයට ගැළපේදැයි බැලීමට පසුව පරීක්ෂා කිරීමට අවශ්ය නම් කුමක් සිදුවේද?
ඒක සරලයි. සත්යාපනය කරන මුරපදය පමණක් දත්ත සමුදායේ ප්රවේශයට (හෝ මෙම අවස්ථාවේදී මතකයේ) සැසඳිය යුතුය.
bcrypt හට බයිට් තන්තු පමණක් කියවිය හැකි බැවින් සත්යාපනය කරන මුරපදය දත්ත සමුදායේ ඇති එක හා සැසඳීමට පෙර කේතනය කළ යුතුය. මූලික වශයෙන්, ඔබ දැනට ඔබේ දත්ත ගබඩාවේ ඇති කේතනය කළ හැෂ් මුරපදයට කේතනය කළ සත්යාපන ආදානයක් සංසන්දනය කරනු ඇත.
කල්පිත Python යෙදවුම් භාවිතයෙන් මෙය පරීක්ෂා කරමු:
ඉහත සඳහන් කළ කේතය ධාවනය කිරීමෙන් පසු, නව මුරපදයක් සඳහා ඔබෙන් විමසනු ඇත. මෙය මතකයේ සුරැකෙන්නේ පයිතන් විසිනි. සත්යාපනය කිරීමේ කොටසේ, ඔබ පසුව එකම මුරපදය ඇතුළත් කරනු ඇත, එය ඔබට පුද්ගලික වේ.
මුරපදය සංසන්දනය කරන්නේ නම් සහ කලින් සංකේතනය කර ගැලපීම සුරැකුවහොත්, Python සාර්ථක පණිවිඩයක් නිකුත් කරයි.
එසේ නොවේ නම්, දෝෂ පණිවිඩය මුද්රණය කර වෙනත් වාක්යයක් එකතු කරනු ලැබේ.
මූලික අදහස ලියාපදිංචි කිරීම සහ සත්යාපනය සඳහා දත්ත සමුදායකට මුරපදයක් සැපයීමට සමාන වේ.
නිගමනය
සාමාන්ය Python කෙටි මතකයේ bcrypt ක්රියා කරන ආකාරය පෙන්වීමට අපි සරලව සංකේතාත්මක මුරපද භාවිතා කර ඇතත්, එහි සැබෑ අදාළත්වය පවතින්නේ පරිශීලක-පාදක යෙදුම් තුළය.
කෙසේ වෙතත්, මෙම ලිපිය සැබෑ ලෝකයේ තත්වයන් තුළ පවා මෙය ඉටු කිරීම සඳහා ඔබේ කේතය සංවිධානය කිරීමට අත්යවශ්ය ක්රම විදහා දක්වයි.
උදාහරණයක් ලෙස, ඔබ Flask භාවිතා කරන්නේ නම්, ඔබට ආදාන වෙනුවට වෙනම වෙබ් පෝරම හරහා ලියාපදිංචිය සහ සත්යාපන ක්ෂේත්ර සැපයිය හැක.
ඇත්ත වශයෙන්ම, මුරපද සංසන්දනය කරන අතරතුර, ඔබ සැබෑ ලෝකයේ තබා ඇති සංකේතාත්මක මුරපද අඩංගු දත්ත ගබඩාවකින් කියවනු ඇත.
ජෝනා නිට්ෂ්
මෙම සරල හා සරල පැහැදිලි කිරීම සඳහා ස්තූතියි,
මගේ වර්තමාන ව්යාපෘතිය සඳහා මෙය මට බොහෝ උපකාර විය.
උදාහරණ කේතය අවම වශයෙන් සීමා කර ඇති අතර වෙනත් බොහෝ පැහැදිලි කිරීම් මෙන් අධික ලෙස පටවා නොතිබීම ඉතා හොඳ යැයි මම සිතමි.
සුභ පතමින්