PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقدار نهایی این کد چی می شه؟



sardarn
July 28th, 2012, 14:55
سلام

قسمتی از یک کد ، کد زیر هست.من زیاد php بلد نیستم .می شه توضیح بدید که $org_key مقدارش چه طور ساخته می شه؟ در قسمت اولش ایمیل کد شده رو دیکد می کنه.آخرش هم به md5 هش می کنه و بعد از حرف دوم به بعدش به اندازه 12 تا انتخاب می کنه.حالا قسمت $org_key=$user['User']['password'].'samansystems'; چی کار می کنه؟


$email_decode = base64_decode($email);
$user = $this->User->findByEmail($email_decode);
$org_key=$user['User']['password'].'samansystems';
$org_key=md5($org_key);
$org_key=substr($org_key,2,12);

rezaonline.net
July 28th, 2012, 16:22
این فقط خواسته یه هش پیچیده رو ایجاد کنه که نشه به راحتی کرکش کرد

sardarn
July 29th, 2012, 12:18
این فقط خواسته یه هش پیچیده رو ایجاد کنه که نشه به راحتی کرکش کرد

ممنون خودم هم می دونستم.می خوام بدونم اون قسمتی رو که گفتم چی کار می کنه گفتم توضیح بدید.خودم هم می دنستم می خواد هش کنه

rezaonline.net
July 29th, 2012, 13:25
خب یک هش یکتا از اون الگو میسازه دیگه .

یه جای دیگه هم برای auth همون مراحل رو تکرار میکنه و برابر سازی میکنه ، که اگر درست بود لاگین انجام شده و اگر نه لاگین نشده .

هش باید بر اساس یه چی باشه دیگه!

sardarn
July 29th, 2012, 15:14
من فقط می خواهم عمل این کد رو توضیح بدهید.اطلاعاتش رو از کجا میاره و چه بلایی سر رشته قبلش میاره؟


$org_key=$user['User']['password'].'samansystems';

amirlord
July 29th, 2012, 17:23
سلام
کامل براتون توضیح میدم .

1-

$email_decode = base64_decode($email);
در اینجا رشته ی کد شده ی مقدار ایمیل دیکود میشه . خروجی ایمیل واقعی یوزر هست .

2-

$user = $this->User->findByEmail($email_decode);
اینجا با فانکشن هایی که از قبل تعریف شده آرایه یوزر طرف رو با دادن ایمیل اون برمیگردونه .

3-

$org_key=$user['User']['password'].'samansystems';
در اینجا مقدار $user['User']['password'] و مقدار samansystems با هم مخلوط میشن . یعنی کنار هم قرار می گیره . برای مثال اگر رمز عبور admin باشه میشه : adminsamansystems

4-

$org_key=md5($org_key);
در اینجا مقدار شماره 3 رو md5 میکنه .

5-

$org_key=substr($org_key,2,12);
و در آخر مقداری که از md5 کردن بدست اورده توی تابع substr قرار داده . مقادیر این تابع هم نشون میده که از کاراکتر بعد از 2 شروع میکنه تا 12 کاراکتر بعدش رو خروجی میده .
PHP: substr - Manual (http://php.net/manual/en/function.substr.php)