فصل7_بخش سوم:[ Hash And Hash Code ]
الگوریتم های متفاوتی برای ایجاد String در هم آمیخته که همان به اختصار [ Hash ] نامیده می شود وجود دارد .
و اساسا پیدایش این String در هم آمیخته برای جلوگیری از لو رفتن User namr و مخصوصا password پس از هک شدن به کارگرفته می شود .
البته این نکته یعنی به هنگام انتخاب password قوی بایستی در سایت ها و اپلیکیشن ها که که با تیک سبز نشان داده می شود همیشه توجه شود زیرا هکر ها به راحتی می توانند با سرچ در اینترنت password های ضعیف تا متوسط (اگر خبره باشند )می توانند عبارت اصلی آن را بدست آورند .
به طور کلی الگوریتم های ایجاد Hash دو نوع است :
1_ یک طرفه : مثل MD5
خودتان اگر می خواهید براساس الگوریتم یا همان( Hash table )Md5 یا ShA1 یک عدد Hash طبق عبارتی که می نویسید پیدا کنید کافی است در اینترنت سرچ کنید :MD5 hash encrypt
جالب توجه است String که به یک عبارت خاص اختصاص می دهد در صورت تکرار همان عبارت آن String عینا تکرار می شود .
2_دو طرفه : مثل HTTPS که به طور کلی مربوط به حفاظت شبکه است .
حالا از مبحث String در هم پیچیده Hash خارج می شویم و به بحث شیرین ()hashCode. وارد می شویم .
اصلا کاربرد اصلی این عبارت درچیست را ابتدا می خواهیم بدانیم .
هنگامی که می خواهیم پیش بینی کنیم که آیا متغییری با متغییر دیگری برابر است یا نه از عبارت (()hashCode.اسم آن متغییر )println ان متغییر استفاده می کنیم و String حاصل شده را را با همین روال با متغییر دیگر بدست می آوریم و دو String در هم آمیخته را باهم مقایسه می کنیم اگر کاملا برابر بودند دو متغییر نیز با هم برابرند . حالا خواه متغییر مساوی با اعمال پیچیده ای باشد خواه مساوی با یک دیتا کلاس باشد (یعنی Object از آن دیتا کلاس باشد ).
به شکل های زیر با دقت توجه کنید:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''