منو

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

 

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

دسته بندی ها: امنيت

دیدگاه ها