استفاده از Hashing و Salting برای ایجاد رمز عبور امن در سی شارپ
Hashing یا هش کردن چیست؟
هش کردن پسورد به معنای اعمال یک الگوریتم یک طرفه encryption یا رمزگذاری است که منجر به ایجاد یک رشته cryptographic یا رمزنگاری شده می شود.
الگوریتم های هش که در گذشته برای ذخیره رمز عبور به اندازه کافی ایمن درنظر گرفته می شدند اکنون ناامن شده اند.
الگوریتم های امن برای هش کردن:
- PBKDF2
- BCrypt/SCrypt
- Argon2
همچنین باید به این موضوع توجه داشته باشید که هش کردن تنها کافی نیست و باید از Salting در رمزعبور استفاده کنید.
Salting چیست؟
در رمزنگاری Salting یک داده تصادفی است که به عنوان ورودی اضافی به یک الگوریتم یک طرفه هش کردن اضافه می شود.
Salting به دفاع در برابر حملات جداول از پیش محاسبه شده کمک می کند و اندازه جدل مورد نیاز برای یک حمله موفقیت آمیز را افزایش می دهد.
ما باید برای هر رمز عبور از یک Salt متفاوت استفاده کنیم. استفاده از یک Salt ثابت در سطح سیستم به هیچ عنوان توصیه نمی شود، زیرا اثر این روش را به شدت کاهش می دهد.
در صورت امکان ذخیره Salt برای هر پسورد ایده بسیار خوبی است.
ما در این آموزش به نحوه پیاده سازی هش کردن پسورد از طریق Salt با استفاده از الگوریتم PBKDF2 بدون هیچ پکیج اضافی در سی شارپ و دات نت 8 پرداخته ایم.
دریافت سورس پروژه در گیت هاب
برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید