تفاوت Hashing و Encryption در چیست ؟

واژه Hashing به یک فرآیند یک طرفه گفته می شود که در آن هر نوع داده خروجی در نهایت تبدیل به یک رشته داده خروجی با یک اندازه ثابت می شود که به آن Hash Value یا مقدار تابع درهم سازی گفته می شود. شما نمی توانید از یک Hash Value داده خود را برداشت کنید زیرا این نوع الگوریتم ها کاملا یک طرفه هستند و بیشتر برای تسریع فرآیند جستجو و اطمینان از صحت داده ها در هنگام انتقال مورد استفاده قرار می گیرند. الگوریتم هایی مثل MD و SHA از انواع الگوریتم های درهم سازی یا Hashing هستند که بیشترین استفاده را دارند.

#رمزنگاری یا Encryption به تبدیل داده ها به قالبی گفته می شود که فقط برای کاربران مجاز قابل مشاهده باشد و هیچ کاربر غیرمجازی نتواند داده واقعی را مشاهده کند. به داده ای که رمزنگاری شده باشد در اصطلاح Cipher-Text گفته می شود ، اندازه داده ای که رمزنگاری می شود با حجم داده ورودی آن تا حدود زیادی یکسان است و شما می توانید از داده های رمزنگاری شده داده خود را خارج کنید که به این فرآیند رمزگشایی گفته می شود. الگوریتم های رمزنگاری بصورت کلی به دو دسته متقارن با یک کلید برای رمزنگاری و همان کلید برای رمزگشایی و نامتقارن که دارای دو کلید عمومی و خصوصی برای رمزنگاری و رمزگشایی می شوند تقسیم بندی می شود.