Bcrypt یک الگوریتم password hashing کند و سازگار با salt است که برای ذخیره امن رمز عبور طراحی شده، نه برای هش سریع فایل یا متن. با این ابزار میتوانید یک رمز عبور را با bcrypt هش کنید، cost factor یا rounds را تنظیم کنید و یک رمز ورودی را با هش ذخیرهشده مقایسه کنید. تمام پردازش در مرورگر انجام میشود و مقدارهای واردشده برای پردازش به سرور ارسال نمیشوند.
SHA256 بسیار سریع است و همین سرعت برای حمله brute-force مشکلساز میشود. bcrypt عمداً کند است، salt دارد و با work factor قابل تنظیم میتواند هزینه حدسزدن رمزها را بالا ببرد.
cost factor میزان سختی محاسبه hash را تعیین میکند. هرچه عدد بالاتر باشد، تولید و بررسی hash کندتر و برای مهاجم پرهزینهتر میشود، اما روی سرعت لاگین کاربران هم اثر میگذارد.
برای بسیاری از پروژهها مقدار ۱۰ یا بیشتر نقطه شروع قابل قبولی است، اما مقدار نهایی باید روی سرور واقعی تست شود تا بررسی رمز معمولاً زیر یک ثانیه بماند.
در بیشتر پیادهسازیها bcrypt فقط ۷۲ بایت اول ورودی را در نظر میگیرد. برای رمزهای Unicode، تعداد کاراکتر ممکن است کمتر از ۷۲ باشد چون هر کاراکتر میتواند چند بایت باشد.
برای تست و یادگیری مناسب است، اما رمز واقعی کاربران را در ابزارهای آنلاین وارد نکنید. در محصول واقعی، hashing باید در backend و با مدیریت امن secretها انجام شود.
خیر. عملیات تولید و بررسی bcrypt hash در مرورگر انجام میشود و داده ورودی برای پردازش ارسال نمیشود.
رمز یا متن آزمایشی را وارد کنید، مقدار rounds را انتخاب کنید و hash جدید بسازید. برای بررسی تطابق، password و bcrypt hash موجود را در بخش compare قرار دهید. برای تست عملکرد، rounds را کمکم بالا ببرید و سرعت تولید hash را با نیاز پروژه خود بسنجید.