PDA

View Full Version : سوال: الگوریتم های هش چطور کار میکنند؟؟؟



ashkan_nikfard
پنج شنبه 27 مرداد 1390, 09:46 صبح
سلام.خواستم بدونم کسی میتونه در زمینه هش به من کمک کنه؟
یه برسی کلی در مورد الگوریتم ها و اینکه کدومشون بهتره؟
و اینکه الگوریتم md5 اگر به فرض مثال رشته ای بهش پاس بشه رشته را به چی تبدیل میکنه؟به باینری؟
ممنون میشم کسی راهنماییم کنه.:ناراحت:

محمد باقری نسب
پنج شنبه 27 مرداد 1390, 11:17 صبح
هش کردن در واقع بهم ریختن یک عبارت هست که به صورت یک طرفه کار میکنه.

به عنوان مثال برای اینکه کلمه عبور یک کاربر رو توی پایگاه داده ذخیره کنیم به صورتی که هیشکی غیر از اون کاربر ندونه که رمزش چیه از روش هش کردن یک طرفه استفاده میشه.
بدین صورت که کاربر رمزش رو به سیستم میده پس از اون عبارت رمز به وسیله ی تابعی دریافت شده و بهم ریخته میشود و در خروجی یک عبارت در هم بر هم و نافهموم ارائه میشه. عبارت خروجی در پایگاه داده ثبت میشه و الان اگه کسی به پایگاه داده دسترسی داشته باشه نمیتونه رمز اون کاربر رو تشخیص بدهد.

در نهایت در دفعات بعدی که کاربر میخواد به سیستم وارد بشه و رمزش رو میده ، دوباره بوسیله همون تابع عبارت خروجی با اون چیزی که توی پایگاه داده است مقایسه میشه و اگه درست بود کاربر وارد سیستم میشه.

الگوریتم یک طرفه یعنی ساختاری که اگه یه ورودی بهش دادی خروجیش رو به هیچ وجه نمیشه به همون ورودی تبدیل کرد.

در ضمن md5 الگوریتم خوبی که خیلی ازش استفاده میشه و خروجیش هم باینری هست.

linux
پنج شنبه 27 مرداد 1390, 11:54 صبح
سلام.خواستم بدونم کسی میتونه در زمینه هش به من کمک کنه؟
یه برسی کلی در مورد الگوریتم ها و اینکه کدومشون بهتره؟
و اینکه الگوریتم md5 اگر به فرض مثال رشته ای بهش پاس بشه رشته را به چی تبدیل میکنه؟به باینری؟
ممنون میشم کسی راهنماییم کنه.:ناراحت:
در این موارد شما بهتر هست از ویکی پدیا کمک بگیری مثلا برای md5 (http://fa.wikipedia.org/wiki/%D8%A7%D9%85%E2%80%8C%D8%AF%DB%8C%DB%B5) این مطلب را در آنجا ببنید.
بعضی مواقع شما باید یک کم عمیق تر به مساله نگاه کنی عبارت رشته ای مگر چیزی جز نمایش یک سری اعداد هست که نشان دهنده شکلی در کدپیج هست؟! که این اعداد هم در نهایت به صورت باینری ذخیره و بازیابی می شوند.