السلام عليكم
قرأت الموضوع في منتدى ثاني وحبيت اني اضيف عليه ميزة جديدة وأنقلها لكم
الفكرة هيا انك لو جالس بتبرمج اسكربت خاص ومسوي فيه خاصية الاشتراك للأعضاء فلابد انك تحكي كلمات مرور الاعضاء بطريقة تصعب على اي شخص فكها
الطبيعي هو md5
والفكرة اللي قرأتها كانت بتعتمد على اضافة كود عشوائي مشفر الى كلمة المرور المشفره
واللي فكرت فيه اني بعد ما اضيف الكود العشوائي المشفر الى الباسورد اللي هو مشفر اصلا يتم التشفير مرة ثالثة بدالة sha1
وبالتالي يكون الاستخدام كالتالي
كود PHP:
<?php
$username = $_POST['username'];
$password = $_POST['password'];
$salt = md5(rand(1,5000) * rand(1,5000) * rand(1,5000));
$password = md5($password . $salt);
$password = sha1($password);
$SQL= mysql_query("INSERT INTO `userinfo` (`name`, `pass`, `salt`) VALUES ('$username', '$password', '$salt')");
if($SQL)
{
echo "done!";
}
else
{
echo ":-( Not Done!!??";
}
?>
وتكون طريقة استخراج الاكواد للاستعمال كالتالي
كود PHP:
<?php
$username = $_POST['username'];
$password= $_POST['password'];
$password = md5($password);
$select = mysql_db_query("$DB_Name","SELECT * FROM $tblname WHERE $tblname.username = $username LIMIT 1");
$check = mysql_affected_rows();
if(($check) != (1)){
echo(' يوجد خطأ في اسم المستخدم او ان هذا الاسم غير مسجل');
exit();
}else{
while($row = mysql_fetch_array($select)){
$salt = $row[salt];
$password = md5($password.$salt);
$password = sha1($password);
$checkcode = mysql_db_query("$DB_Name","SELECT FROM $TBLNAME where $tblname.password = $password LIMIT 1 ");
if(($checkcode) != (1)){
echo('يوجد خطأ في كلمة المرور');
exit();
}else{
echo('wellcome');
}
}
}
?>
منقول