Hash ها، کد هایی هستند که با استفاده از یک الگوریتم خاص، روی هر شئ ایجاد می شوند. ینی با استفاده از الگوریتم های خاصی برای فایل هایی که به آن ها داده می شود، کد خاصی را در نظر می گیرند که اگر بیتی از آن فایل تغییر پیدا کند، هش آن نیز، تغییر پیدا خواهد کرد. مشکل موجود در سرعت بخشیدن به جستجو است. مشکل جستجوی یک آرایه برای یک مقدار مشخص را در نظر بگیرید. اگر آرایه مرتب نشده باشد، جستجو ممکن است نیاز به بررسی تک تک عناصر آرایه داشته باشد.
هش کد ها (Hash Code) و فواید آنها
همانطوری که تمامی انسان ها دارای اثر انگشت منحصر به فرد میباشند، تمامی فایلها نیز میتوانند به یک کد هش 32 رقمی اختصاص داد. که اختصاص آن نیز بر اساس الگوریتم خاص و برای هر فایل با هر سایز بصورت یک کد واحد و غیر تکراری ایجاد میگردد.
هنگام ایجاد hash code برای یک فایل، کد بدست آمده به هیچ عنوان برای سایر فایل ها استفاده نخواهد شد و امکان تکرار آن نیز وجود ندارد و حتی در صورتی که 1 بیت فایل نیز تغییر کند، hash code ایجاد شده نیز 100 درصد تغییر خواهد کرد و امکان تکرار آن نیز وجود ندارد.
پس نتیجه میگیریم که تمامی فایل های دارای سایز یکسان و محتوای یکسان دارای یک کد واحد هش میباشند، که حتی در صورت تغییر نام نیز کد هش ایجاد شده تغییر نخواهد نمود، مگر آنکه محتوای آن تغییر پیدا کند. با این توضیح در مورد hash code فکر کنم کاربردهای این کد و کلا فلسفه وجودی آن برای شما قابل درک باشد.
دلیل نام گذاری هش کد
این کد ها با نام هش کد شناخته می شوند زیرا برای هر فایل کدی یکتا هستند و امکان ندارد که کد دو فایل متفاوت یکسان باشد مگر این که فایل ها با هم یکسان باشد. اگر آرایه مرتب شده باشد، می توانیم از جستجوی باینری استفاده کنیم، بنابراین پیچیدگی زمان اجرای بدتر را نسبت به (O (log n کاهش می دهیم.
بنابراین، ما می گوییم که عملکرد هش ها دارای خصوصیات زیر است:
- همیشه یک عدد را برای یک شی برمی گرداند.
- دو فایل یکسان دارای هش کد های یکسان هستند.
- دو فایل نابرابر همیشه هش کد هایشان، با یکدیگر متفاوت است.
- پیشینه ذخیره اشیاء با استفاده از یک عملکرد هش به شرح زیر است.
ما امروزه در دنیای مجازی از امضا و اثر انگشت الکترونیک استفاده می کنیم و برای احراز هویت معیار ما، digest تولید شده توسط الگوریتم های هشینگ است.
کاربردهای هش کد(Hash Code)
یکی از مهمترین کاربرد های آن، اطمینان از کامل و سالم بودن فایل دانلود شده میباشد. اگر فایلی ناقص دانلود شده باشد و یا حتی از لحاظ ظرفیت یکی باشند ولی کد Hash آنها با هم متفاوت باشد، نشان از درست نبودن عمل دانلود میباشد و یا حتی در حالاتی خاص ویروسی شدن فایل میتواند باعث تغییر Hash Code شود.
از روش Hashing (هشینگ) برای پنهانسازی واقعیت متون و فایلها استفاده می شود؛ در این روش کاربر برای اینکه امنیت کلمه عبورش که بر روی شبکه قرار دارد، آن را به صورت هش ( یک کلید واژهی ۱۲۸ بیتی ) ذخیره میکند.انواع مختلفی از الگوریتم های قوی هش کردن برای استفاده در برنامه های کاربردی موجود هستند،
محبوب ترین آنها که مورد استفاده برنامه نویسان هستند MD5 و SHA-1(Secure hash algorithm) می باشند.MD5 چیست؟ آیا می دانید در دنیای کامپیوتر هر فایل دارای یک اثر انگشت منحصر به فرد است این اثر انگشت MD۵ Checksum یا ام دی ۵ یا Message-Digest algorithm ۵ یا کد هش /hash code نامیده می شود MD۵ معمولا در سایت های دانلود نرم افزار دیده می شود به دلیل اینکه هر تغییر کوچک و بزرگ در فایل یا برنامه سبب تغییر کلی MD۵ یا اثر انگشت آن می شود.
معروف ترین استاندارد های hash :
- MD5 : یک digest 128 بیتی تولید میکنید
- SHA 1 : یک digest 160 بیتی تولید میکنید
- SHA 256 : یک digest 256 بیتی تولید میکنید
- KECCAK-256 : یک digest 256 بیتی تولید میکنید.
هرچه که digest تولید شده بزرگتر باشد امکان تصلدم کمتر می شود و امنیت بالا تر میرود. امروزه در ارز های دیجیتال و فناوری بلاک چین از hash ها استفاده می شود.
هش کد ها (Hash Code) و فواید آنها
برای مشاهده مقالات بیشتر در مورد سئو سایت و طراحی سایت به صفحه مقالات اصفهان وب مراجعه نمایید.
نظر دهید
ایمیل شما منتشر نخواهد شد *