hash و encrypt دو اصطلاح کاملا متفاوت هستند ولی بسیاری از افراد نمی دانند که تفاوت میان این دو چیست و اشتباها این دو را به جای یک دیگر استفاده میکنند در این مقاله قصد داریم به طور ساده تفاوت hash و encrypt توضیح دهیم . با تک دیتا همراه باشید .
تفاوت hash و encrypt
Hashing چیست؟
به احتمال زیاد همه شما شنیده اید که یک عبارت هش شده است و نمیتوان محتویات آن را خواند . به طور کلی و توضیح ساده Hashing به عملیاتی گفته می شود که یک داده از ورودی دریافت شود در نهایت یک داده به شکلی دیگر از خروجی خارج شود در صورتی که داده نهایی قادر به تبدیل به نوع اولیه نیست .
یعنی یک عبارت توسط یک سری الگوریتم ها هش می شود توجه داشته باشید که مقدار خروجی با توجه به هر ورودی کاملا متفاوت است یعنی به ازای هر ورودی یک خروجی یکتا خواهیم داشت .
نتیجهٔ عمل hash یک مجموعه کاراکتر با طول ثابت است که با تغییر کوچکی در استرینگ ورودی، تغییرات زیادی در نتیجهٔ خروجی حاصل خواهد شد. در واقع در صورت ندانستن مقدار ورودی به هیچ عنوان نمی توان به مقدار خروجی دسترسی داشت که بسیاری از افرا از این الگوریتم برای ساخت پسورد های قوی استفاده می کنند .
یکی از محبوب ترین الگوریتم های هشینگ , MD5 است که خروجی آن یک رشته با حجم 16 بایت است که در قالب یک استرینگ 32 عددی نشان داده می شود
Encryption چیست؟
رمزنگاری وظیفهٔ تبدیل دادهها به فرم غیرقابل خواندن را برعهده دارد اما این در حالی است که طول استرینگ رمزنگاری ثابت نیست . تفاوت اصلی Encryption و Hash در این است که اگر شما کلید را داشته باشید می توانید اطلاعات را دیکریپت کنید و به داده ها دسترسی داشته باشید . این دور صورتی است که در الگوریتم هش این کار ممکن نیست .
به طور کلی، دو نوع اصلی Encryption وجود دارد که عبارتند از الگوریتمهای رمزنگاری متقارن و الگوریتمهای نامتقارن. در الگوریتمهای متقارن برای رمزنگاری و رمزگشایی تنها یک Key (کلید) لازم است ولی در الگوریتمهای نامتقارن، یک کلید برای رمزنگاری نیاز است که تحت عنوان Public Key شناخته میشود و کلید دیگری هم برای رمزگشایی تحت عنوان Private Key مورد نیاز است. Public Key برای افرادی ساخته شده است که میخواهند برای ما پیام رمز شده بفرستند و Private Key برای رمزگشایی پیام رمز شده استفاده میشود .
امید واریم که این مقاله هم مورد توجه شما قرار کرفته شده باشد.