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