مبدل رایگان

رمز عبور Bcrypt ژنراتور

هش رمز عبور امن bcrypt را فوراً در مرورگر خود ایجاد کنید. فاکتور هزینه و رمز عبور هش خود را در سمت مشتری انتخاب کنید — کاملا خصوصی و رایگان.

درباره این ابزار

bcrypt یک تابع هش کردن رمز عبور است که توسط نیلز پروووس و دیوید مازیرس در سال 1999 طراحی شد و از رمز Blowfish مشتق شده است. برخلاف توابع هش همه‌منظوره مانند SHA-256، bcrypt عمدا کند است – و از طریق یک پارامتر هزینه، به صورت تنظیم‌شده کند است – که دقیقاً همان خاصیتی است که یک هشر رمز عبور به آن نیاز دارد. یک تابع هش سریعتر به مهاجمان اجازه می دهد تا نامزدهای بیشتری را در هر ثانیه اعمال کنند. کندتر آنها را محدود می کند.

bcrypt همچنین نمک هر رمز عبور را به صورت خودکار ترکیب می‌کند و کل دسته حملات را بر اساس جداول رنگین کمان از پیش محاسبه‌شده حذف می‌کند. پارامتر salt و cost به عنوان بخشی از خروجی bcrypt ذخیره می‌شوند، بنابراین تأیید فقط به هش ذخیره‌شده و رمز عبور نامزد نیاز دارد - بدون مدیریت نمک جداگانه. این ترکیب کندی، نمک، و فرمت مستقل، bcrypt را به هش رمز عبور پیش‌فرض برای دو دهه و امروزه به یک انتخاب قوی تبدیل کرده است.

جایگزین های مدرن وجود دارد. Argon2 در سال 2015 مسابقه هش کردن رمز عبور را برنده شد و علاوه بر سختی زمان، سختی حافظه را نیز ارائه می دهد. scrypt ویژگی های مشابهی را ارائه می دهد. برای طرح های جدید، Argon2id انتخاب پیشنهادی است. bcrypt همچنان قابل قبول و به طور گسترده مستقر است، به ویژه در محیط هایی که Argon2 در دسترس نیست.

چرا گذرواژه ها را با bcrypt هش می کنیم؟

ذخیره گذرواژه ها به صورت متن ساده یک اشتباه است. ذخیره سازی آنها با هش سریعی مانند SHA-256 به سختی بهتر است - پردازنده های گرافیکی مدرن میلیاردها هش SHA-256 را در ثانیه محاسبه می کنند و حملات brute-force علیه هر رمز عبور رایج را در چند ساعت امکان پذیر می کنند. کندی عمدی bcrypt اقتصاد را تغییر می‌دهد: با ضریب هزینه ۱۲، مهاجم تقریباً ۲۵۰ میلی‌ثانیه برای هر رمز عبور نامزد هزینه می‌کند، که استفاده از brute force را برای هر رمز عبور غیرمعمولی غیرعملی می‌کند.

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

نحوه استفاده

رمز عبور را تایپ کنید، هزینه را انتخاب کنید، هش را دریافت کنید.

  1. رمز عبور را وارد کنید: رمز عبور را برای هش تایپ کنید. این ابزار به طور کامل در مرورگر شما اجرا می شود. رمز عبور به جایی منتقل نمی شود.
  2. فاکتور هزینه را انتخاب کنید: پیش‌فرض 10 است که تقریباً 100 میلی‌ثانیه زمان هش را روی سخت‌افزار مدرن ایجاد می‌کند. 12 برای برنامه های جدید توصیه می شود (250 میلی ثانیه). مقادیر بالاتر امنیت را به قیمت تأیید آهسته تر افزایش می دهد.
  3. ایجاد کنید: هشر یک نمک تصادفی 16 بایتی تولید می کند، مشتق کلید bcrypt را اجرا می کند و یک هش در قالب استاندارد $2b$ تولید می کند.
  4. از هش استفاده کنید: خروجی کامل ($2b$cost$saltAndHash) را در پایگاه داده رمز عبور خود ذخیره کنید. تأیید از همان کتابخانه برای مقایسه یک نامزد با هش ذخیره شده استفاده می کند.

موارد استفاده رایج

جزئیات فنی

bcrypt از مرحله تنظیم کلید Blowfish رمزنگاری اصلاح شده استفاده می کند که 2^زمان هزینه تکرار شده است. عامل هزینه لگاریتمی است — هزینه 12 دو برابر کندتر از هزینه 11، چهار برابر کندتر از هزینه 10 است. این مقیاس لگاریتمی به مدیران اجازه می دهد تا با بهبود سخت افزار، بدون طراحی مجدد سیستم، هزینه را در طول زمان افزایش دهند.

فرمت خروجی $version$cost$saltAndHash است که در آن saltAndHash با یک الفبای سفارشی با پایه 64 کدگذاری شده است. نسخه معمولاً $2b$ (نوع مدرن با رفع اشکال wraparound) یا $2y$ (مشخص برای PHP، معادل) است. نمک 16 بایت است. هش 24 بایت است. آنها با هم به 53 کاراکتر از custom-base64 کد می کنند.

حداکثر طول ورودی 72 بایت است (محدودیت طول کلید Blowfish). گذرواژه‌های طولانی‌تر به‌طور بی‌صدا کوتاه می‌شوند، که این یک ابهام دیرینه bcrypt است. بهترین روش این است که طول رمز عبور را به 72 بایت محدود کنید یا با SHA-256 پیش هش کنید تا طول را قبل از bcrypt عادی کنید.

بهترین شیوه ها

سوالات متداول

آیا می توانم خروجی تولید شده را سفارشی کنم؟
بله. این ابزار گزینه های سفارشی سازی مختلفی را برای تنظیم خروجی با نیازهای خاص شما فراهم می کند. تنظیمات را قبل از تولید تنظیم کنید یا با گزینه‌های مختلف بازسازی کنید.
آیا محتوای تولید شده برای استفاده رایگان است؟
بله. همه چیزهایی که با این ابزار تولید می‌کنید متعلق به شماست تا برای مقاصد شخصی، آموزشی یا تجاری بدون هیچ گونه محدودیت یا الزامات اسنادی استفاده کنید.
آیا این نیاز به یک حساب کاربری دارد؟
خیر. ابزار بلافاصله بدون ثبت نام، بدون ایمیل و بدون ثبت نام آماده استفاده است. فقط صفحه را باز کنید و شروع به تولید کنید.
آیا داده های ورودی من خصوصی نگه داشته می شود؟
بله. تمام پردازش ها در مرورگر شما انجام می شود. داده های ورودی و خروجی تولید شده شما هرگز به هیچ سرور خارجی ارسال نمی شود.
نمک خودم را اضافه کنم؟
شماره bcrypt یک نمک تصادفی را به صورت خودکار تولید و ذخیره می کند. اضافه کردن نمک خود غیر ضروری است و می تواند باعث ایجاد اشکالات ظریف شود. از تولید نمک پیش فرض کتابخانه استفاده کنید.
آیا رمز عبور به سرور ارسال می شود؟
خیر. هش bcrypt در مرورگر شما اتفاق می افتد. رمز عبور هرگز از دستگاه شما خارج نمی شود.
چرا انواع $2a$، $2b$، $2y$ وجود دارد؟
$2a$ اصل است. $2b$ یک باگ wraparound کشف شده در سال 2014 را برطرف می کند. $2y$ مختص PHP است و از نظر عملکردی معادل $2b$ است. سیستم‌های جدید باید هش ۲ میلیارد دلاری تولید کنند.
آیا می توانم هش پر هزینه را به هزینه کمتر تنزل دهم؟
خیر. هش شامل هزینه به عنوان بخشی از خروجی است و تأیید به همان هزینه نیاز دارد. برای تغییر هزینه، در ورود موفقیت آمیز بعدی مجدداً هش کنید.