تفاوت Encoding و Encrypting و Hashing در برنامه نویسی:
✏️ نویسنده : @theinternetgod

Encoding:

صرفا تبدیل یه داده به استاندارد متفاوت هست، مثلا base64 انکدینگ هست یا اصلا هر تبدیل مبنایی رو میشه انکودینگ در نظر گرفت و معمولا هدف انکود کردن مخفی سازی نیست (چون به راحتی قابل برگشت و یا همون دیکود کردنه ) و بیشتر جهت اینه که داده هامون رو متناسب با شرایطمون کنیم ؛ برای مثال base64 برا این وجود داره که داده های درون یه فیلم یا عکس هنگام عبور از شبکه توسط مودم ها و روتر ها به عنوان یه دستور شناسایی نشه (که یا ممکنه یه کار غیر منتظره انجام بده و یا دیتامون خراب شه).

Encripting & Hashing:

انکریپت کردن معمولا به هدف مخفی کردن یه داده به کار میره و ممکنه برگشت پذیر و یا یکطرفه باشه(هش). اگه قابل دیکریپت کردن باشه معمولا پای یک یا چند "کلید" در انکریپت و دیکریپت در میونه.

در غیر این صورت اگه برگشت ناپذیر باشه بهشون هش میگن، هش ها تضمین میکنن که هر داده ای رو به یک خروجی یکتا تبدیل کنن که فقط مختص اون ورودیه (مقدار هش ها یونیک هست) و از طرفی نمیشه با نگاه کردن بهش هیچ اظهار نظری درمورد ورودی کرد، در نتیجه میشه بدون ذخیره کردن خود داده برابر بودنش رو با دیگر داده ها چک کرد.

نمونه هایی از encoding های معروف :
UTF-8 , ASCII , Base64, Latin-1

نمونه هایی از Encription های معروف :
RSA , AES, Caesar Cipher

نمونه هایی از Hash های معروف :
SHA256, SHA512, MD5

Comments

Be the first to add a comment