امنیتبرنامه نویسیپایتون

نحوه رمزگذاری پسوردها در پایتون با bcrypt

چگونه یک پسورد را با استفاده از پایتون رمزگذاری کنیم؟

رمزگذاری پسوردها برای محافظت از آنها صورت گرفته و یک امر ضروری در افزایش امنیت حساب های کاربری است. در این مطلب نحوه رمزگذاری پسوردها در پایتون را یاد خواهید گرفت که در صورت کدنویسی یک برنامه تحت وب با پایتون بسیار کاربردی خواهد بود.

ما کتابخانه bcrypt را برای این کار انتخاب کرده ایم که در ادامه با نحوه کار با آن آشنا خواهید شد.

کتابخانه bcrypt چونه کار می کند؟

کتابخانه bcrypt یک تابع رمزگذاری برای پسوردها است که بر اساس الگوریتم رمزنگاری Blowfish طراحی شده است. شما میتوانید bcrypt را برای سایر زبان های برنامه نویسی هم پیاده سازی کنید. این کتابخانه با تولید کاراکترهای اضافی که به اصطلاح slat یا نمک گفته می شود و با اضافه کردن آن به پسورد شما، رمزگذاری خود را انجام می دهد. همچنین می توانید تعداد کاراکترهایی را که می خواهید به رشته ورودی شما اضافه شود را مشخص کنید.

نصب و استفاده از bcrypt

برای نصب این کتابخانه با استفاده از pip دستور زیر را وارد کنید:

pip install bcrpyt

پس از نصب، برای رمزگذاری یک رشته با استفاده از bcrypt به صورت زیر عمل می کنیم:

نحوه رمزگذاری پسوردها در پایتون

وقتی کد پایتون بالا را اجرا کنید، یک رشته رمزگذاری شده را چاپ می کند و با هر بار اجرای مجدد آن، خروجی تغییر می کند.

نحوه مقایسه و تأیید رمزهای عبور با bcrypt

اگر شما رمز عبور هش شده را ذخیره کنید و بعداً بخواهید تأیید کنید که آیا با رمز عبور ارائه شده کاربر در حین احراز هویت مطابقت دارد یا خیر؟ چه کاری باید انجام دهید؟

برای این کار باید رمز عبور احراز هویت را با رمز ذخیره شده در پایگاه داده مقایسه کنید. از آنجایی که bcrypt فقط byte strings را می‌خواند، شما ابتدا باید رمز عبور احراز هویت را قبل از مقایسه آن با رمز عبور در پایگاه داده تبدیل به byte strings کنید.

نحوه مقایسه و تأیید رمزهای عبور با bcrypt

کد بالا از شما می خواهد که در هنگام اجرا یک رمز عبور جدید وارد کنید. سپس همان رمز عبور (که فقط برای شما شناخته شده است) را در قسمت احراز هویت ارائه خواهید کرد.

اگر رمز عبوری که برای احراز هویت وارد می کنید با رمز عبور ذخیره شده قبلی مطابقت داشته باشد، پایتون یک پیام موفقیت آمیز چاپ می کند. در غیر این صورت، پیام ناموفق موجود در عبارت else را در خروجی چاپ می کند.

نحوه مقایسه و تأیید رمزهای عبور با bcrypt

موارد گفته شده در بالا میتواند در فرآیند ثبت نام و بعد از آن به هنگام ورود و احراز هویت به کار رود.

بیشتر بخوانید:

یوسف وفایی

فارغ التحصیل کارشناسی IT، علاقه مند به برنامه نویسی و علم امنیت، عاشق یادگیری حرفه های جدید، کنجکاو برای همه چیز، همچنین همیشه تلاش میکنم تا به هدفم برسم...

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


دکمه بازگشت به بالا