نقل قول: مشكل با متد GetHashCode
فک کنم دوباره با همون دستور بر می گردونش. امتحان کن ببین میشه
نقل قول: مشكل با متد GetHashCode
تابع هش غيرقابل بازگشت هست يعني رشته اي روكدكردي ديگه نميتونه كدروتبديل به رشته كنه
نقل قول: مشكل با متد GetHashCode
نقل قول:
نوشته شده توسط
swallow.pa
با سلام
من يك متغير دارم مثلا بنام L كه بالفرض داراي عدد 2505 مي باشد
اونو با L.GetHashCode كد مي كنم و جايي ذخيره مي كنم كه مثلا مي شود -26504502
حالا وقتي بازيابي مي كنم حالا چطور رشته يا عدد رمز شده رو برگردونم به دشته يا عدد اصلي
توي اين قسمت موندم
همانطور که son89412138 اشاره کردند Hash یک طرفه است و نمی توانید مقدار اصلی رو از روی مقدار Hash شده بازیابی کنید.
اصلا دلیل اینکه از Hash استفاده میشه همینه که نشه مقدار اصلی رو بازیابی کرد. اگر میشد مقدار Hash شده رو به مقدار اصلی برگردوند
دیگه Hash کردن اش فایده ای نداشت. Hash فقط برای تشخیص صحت مقدار بکار می رود، یعنی نمی تونه بهتون رمز عبور رو بده اما
می تونه بگه رمز عبور وارد شده صحیح است یا خیر.
فرض کنید که شما رمز عبور کاربر رو بصورت Hash شده در بانک اطلاعاتی ذخیره می کنید. کسی که محتویات بانک اطلاعاتی رو می بینه
مقدار Hash شده رو می بینه اما چون قابل برگشت نیست، نمی تونه رمز عبور رو بدست بیاره. اما وقتی کاربر خواست لاگین کنه و
وارد محیط سیستم بشه، شما می توانید رمزی که کاربر تایپ می کنه رو Hash کنید و مقدار حاصل رو با اون مقدار داخل بانک اطلاعاتی
مقایسه کنید. اگر هر دو برابر بودند رمز عبور صحیح است وگرنه رمز اشتباه است.