PDA

View Full Version : سوال: امنیت در ذخیره پسورد



lexical_error
جمعه 09 اسفند 1392, 16:08 عصر
سلام دوستان
من تو یه سری کدها دیدم که با یه تابعی یه عدد تصادفی ایجاد میکنن بعد اضافش میکنن به هش پسورد بعد اونرو داخل دیتا بیس ذخیره میکنن!
میخواستم بدونم چه ضرورتی داره این کار؟! درواقع چه فاکتور امنیتی رو ایجاد میکنه که میگن امنیت بیشتر میشه؟!!
ممنون

toopak
جمعه 09 اسفند 1392, 16:29 عصر
خب مهمترینش اینه که حتی وقتی دیتابیس هک بشه و یا به هر طریقی به پسوردهای ذخیره شده در بانک دست پیدا کنن نمیتونن به راحتی پسورد رو پیدا کن
چون اگر مطلع باشید یه سری سایت ها هستن که شما هش رو بهش بدی تو بانک اطلاعاتیشون میگردن و میتونن پسورد رو ریکاوری کنن و یا حتی اگر کسی خیلی واسش مهم باشه میشه استرینگ ساخت و هش کرد و مقایسه کرد
ولی وقتی پسورد هش رو با یه چیزی جمع کرد و بعد مثلا ضرب کرد دیگه نمیشه به راحتی پسورد رو ریکاوری کرد

lexical_error
جمعه 09 اسفند 1392, 16:57 عصر
خب موقعی که قصد ذخیره کردن پسورد رو داریم باید اون رشته تصادفی رو هم باهاش ذخیره کنیم که موقع لاگین استفاده کنیم.
حالا اگر دیتا بیس هک بشه که طرف دسترسی داره به اون رشته تصادفی !!

aliphp1
جمعه 09 اسفند 1392, 17:24 عصر
خب موقعی که قصد ذخیره کردن پسورد رو داریم باید اون رشته تصادفی رو هم باهاش ذخیره کنیم که موقع لاگین استفاده کنیم.
حالا اگر دیتا بیس هک بشه که طرف دسترسی داره به اون رشته تصادفی !!

اگه به دیتابیس دسترسی داشته باشه ولی الگوریتم رمز گزاریت رو ندونه اینطوری دیگه این کاربرد داره و نمی دونه شما چه بلایی سر این آوردی بعد چسبوندی به پسوردت و ذخیره کردی

omidabedi
جمعه 09 اسفند 1392, 20:20 عصر
خب موقعی که قصد ذخیره کردن پسورد رو داریم باید اون رشته تصادفی رو هم باهاش ذخیره کنیم که موقع لاگین استفاده کنیم.
حالا اگر دیتا بیس هک بشه که طرف دسترسی داره به اون رشته تصادفی !!


رشته ی تصادفی نهه
یا یک رشته ی ثابت یه یک الگوریتم ثابت

lexical_error
شنبه 10 اسفند 1392, 01:11 صبح
رشته ی تصادفی نهه
یا یک رشته ی ثابت یه یک الگوریتم ثابت

خب الگوریتم ثابت باید کد متغییر تولید کنه در اولین باری که قراره پسورد ذخیره بشه !!

sherlock0111
شنبه 10 اسفند 1392, 09:45 صبح
ببینن دوست عزیز اگه به صورت یه فانکشن بنویسم اینجوری می شه!


define('salt','hdgd534783$%^');
function GetHash($value)
{
$value2=md5($value).salt;
return $value2;

}
که این مقدار saltبه md5اضافه میشه تصادفی نیست خودت این مقدار رو تعیین میکنی.حالا اگه طرف رمز هش شده رو بخواد با ریکاوری کنه دیگه نمیشه و سخت میشه براش!

SlowCode
شنبه 10 اسفند 1392, 11:57 صبح
نه! الگوریتم باید طوری باشه که مثلا واسه عدد 1 خروجی x بده.
این خروجی برای عدد 1 همیشه باید x باشه! چون شما موقع لاگین.
حالا اگه شما یه رشته تصادفی رو بهش اضافه کنی دیگه اصلا نمیتونی لاگین رو انجام بدی.