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

چکیده :

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



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