اكيد هاتشتغل تمام. وهناك طرق كثيرة لتشفير كلمة السر اشهرهم هو الـ md5()
بس المهم انك لما تيجى تقارن بين كلمة السر اللى فى قاعدة البيانات وكلمة السر اللى كتبها العضو, انك تشفر كلمة السر اللى دخلها العضو الأول.
بمعنى
لو فرضنا ان اسم المستخدم اللى سجل هو pepo وكلمة المرور هى pepo
فلما بتضيف البيانات دى لقاعدة البيانات بتضيفه بشئ شبيه من التالى
لما تيجى عايز تعرف اذا كان الباسورد اللى دخله الزائر هو نفس الباس المشفر بقاعدة البيانات بيكون شئ شبيه بالتالى
بس المهم انك لما تيجى تقارن بين كلمة السر اللى فى قاعدة البيانات وكلمة السر اللى كتبها العضو, انك تشفر كلمة السر اللى دخلها العضو الأول.
بمعنى
لو فرضنا ان اسم المستخدم اللى سجل هو pepo وكلمة المرور هى pepo
فلما بتضيف البيانات دى لقاعدة البيانات بتضيفه بشئ شبيه من التالى
PHP كود :
$connect = mysqli_connect('localhost', 'user', 'password', 'dbname');
$name = mysqli_real_escape_string(htmlspecialchars($_POST['name']), $connect);
//mysql_real_escap_string هى دالة لتأمين النصوص التى تدخلها لقاعدة البيانات
//$connect ده اللينك اللى اتصلت بيه بقاعدة البيانات
$pass = mysqli_real_escape_string(md5($_POST['pass']), $connect);
//بعد كده بتدخل البيانات دى بأمان لقاعدة البيانات
PHP كود :
$name = mysqli_real_escape_string(htmlspecialchars($_POST['name']), $connect);
$pass = mysqli_real_escape_string(md5($_POST['pass']), $connect);
$sql = "SELECT * FROM `users` WHERE username='{$name}' AND password ='{$pass}'";
$query = mysqli_query($sql, $connect);
if(mysqli_affected_rows($connect) == 1){
//كلمة مرور صحيحة
}
else{
//كلمة مرور خطأ
}