⊗ppPmAuRHS 424 of 447 menu

নিবন্ধনে লবণ যোগ করা

সুতরাং, আপনি ইতিমধ্যেই জানেন যে md5 এর মাধ্যমে হ্যাশিং একটি অপরিবর্তনীয় প্রক্রিয়া এবং হ্যাকার, যে হ্যাশটি অ্যাক্সেস পেয়েছে, সে এই হ্যাশ থেকে পাসওয়ার্ড পেতে সক্ষম হবে না।

আসলে এই বক্তব্যটি সম্পূর্ণ সত্য নয় - বর্তমানে দুষ্ট হ্যাকাররা জনপ্রিয় এবং কম জনপ্রিয় পাসওয়ার্ডের হ্যাশ লাইব্রেরি তৈরি করেছে এবং যেকোনো বোকা সহজেই পাসওয়ার্ডটি উদ্ধার করতে পারে, শুধুমাত্র এর হ্যাশটি গুগল করে।

এটি মোটামুটি সহজ, জনপ্রিয় পাসওয়ার্ডগুলির ক্ষেত্রে প্রযোজ্য।

উদাহরণস্বরূপ, হ্যাশটি গুগল করুন 827ccb0eea8a706c4c34a16891f84e7b এবং অবিলম্বে গুগল সার্চে আপনি দেখতে পাবেন যে এটি পাসওয়ার্ড '12345'

এইভাবে মোটামুটি জটিল পাসওয়ার্ডের হ্যাশ উদ্ধার করা যায় না (চেষ্টা করে দেখুন)।

আপনি জিজ্ঞাসা করতে পারেন, সমস্যাটি কী entonces - আসুন আমরা সবাই জটিল পাসওয়ার্ড দিয়ে নিবন্ধন করি। তবে, একটি সমস্যা আছে - বেশিরভাগ ব্যবহারকারী তাদের ডেটার নিরাপত্তা নিয়ে চিন্তা করে না এবং বেশ সহজ পাসওয়ার্ড দিতে পারে।

আমরা নিবন্ধনের সময় ব্যবহারকারীদের আরও দীর্ঘ পাসওয়ার্ড নিয়ে আসতে বাধ্য করতে পারি, সীমাবদ্ধ করে, উদাহরণস্বরূপ, ন্যূনতম অক্ষরের সংখ্যা 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
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন