لقد حاولت تبسيط الأمر
فمحاولة الربط هي بين سكريبت منتدى في بي وسكريبت اخر وقد تم الربط لكن ظهرت المشكلة في كلمات المرور العربية ولكن الأسماء العربية تعمل بصورة سليمة
والتكويد في السكريبتين واحد في القاعدة وفي الصفحات
كود PHP:
//تم تشفير كلمة المرور في مرحلة سابقة ب إم دي خمسة
//بداية الربط
function get_VB_Pass($pass, $salt)
{
$passhash = md5($pass ."$salt");
return $passhash;
}
$query_salt = $kernel->db->row( "SELECT salt FROM user u WHERE u.username = '" . $kernel->vars['username'] . "'" );
$row1=$query_salt;
$kernel->vars['password']= get_VB_Pass($kernel->vars['password'],$row1['salt']);
//نهاية الربط
ما يحدث فعلا
عند تشفير كلمة مرور اااااا وسالت = <D~
السكريبت المراد تغييره ينتج
1fa45b5e0703f2d8b33a20c0bb9f6101
المنتدى ينتج
91b29c3e159f66075a746581be7ef25c
كود PHP:
$pass=md5("اااااا");
$salt="<D~";
هناك مشكلة غالبا في التكويد فعلا
لا يمكنني معرفة كيف أنتج كل من المنتدى والسكريبت الأخر هذه الشفرة
صفحة للتجربة
كود PHP:
$salt="<D~";
echo "<form method=\"post\"><input type=\"password\" value=\"اااااا\" size=\"20\" name=\"password\"><input type=\"submit\"></form>";
$pass1=md5(iconv('UTF-8','CP1256//IGNORE', $_POST['password']));
//$pass1= md5(urlencode($_POST['password']));
//$pass1="اااااا";
echo get_VB_Pass($pass1, $salt)."\n";
السكريبت والمنتدى تكويد الصفحات ويندوز 1256
السكريبت اتصاله بالقاعدة
mysql_query("SET NAMES cp1256");
المنتدى
$config['Mysqli']['charset'] = 'cp1256';
القاعدة الجداول cp1256 ويمكن القراءة من البي إتش بي ماي أدمن لكن القاعدة أسفل الجداول لاتين سويديش