Bcrypt پاس ورڈ جنریٹر
اپنے براؤزر میں فوری طور پر محفوظ bcrypt پاس ورڈ ہیش بنائیں۔ اپنی لاگت کا عنصر اور ہیش پاس ورڈ کلائنٹ کی طرف سے منتخب کریں — مکمل طور پر نجی اور مفت۔
اپنے براؤزر میں فوری طور پر محفوظ bcrypt پاس ورڈ ہیش بنائیں۔ اپنی لاگت کا عنصر اور ہیش پاس ورڈ کلائنٹ کی طرف سے منتخب کریں — مکمل طور پر نجی اور مفت۔
bcrypt ایک پاس ورڈ ہیشنگ فنکشن ہے جسے نیلز پروووس اور ڈیوڈ مازیرس نے 1999 میں ڈیزائن کیا تھا، جو بلو فش سائفر سے ماخوذ ہے۔ SHA-256 جیسے عام مقصد کے ہیش فنکشنز کے برعکس، bcrypt جان بوجھ کر سست ہے — اور لاگت کے پیرامیٹر کے ذریعے ترتیب کے لحاظ سے سست ہے — جو بالکل وہی پراپرٹی ہے جس کی پاس ورڈ ہیشر کی ضرورت ہوتی ہے۔ ایک تیز تر ہیش فنکشن حملہ آوروں کو فی سیکنڈ زیادہ امیدواروں کو زبردستی کرنے دیتا ہے۔ ایک سست ان کو محدود کرتا ہے۔
bcrypt خود بخود فی پاس ورڈ نمک کو بھی شامل کر لیتا ہے، پہلے سے کمپیوٹ شدہ رینبو ٹیبلز پر مبنی حملوں کی ایک پوری کلاس کو ختم کرتا ہے۔ نمک اور لاگت کا پیرامیٹر bcrypt آؤٹ پٹ کے حصے کے طور پر ذخیرہ کیا جاتا ہے، لہذا تصدیق کے لیے صرف ذخیرہ شدہ ہیش اور امیدوار کے پاس ورڈ کی ضرورت ہوتی ہے - کوئی علیحدہ نمک کا انتظام نہیں۔ سست روی، نمکیات اور خود ساختہ فارمیٹ کے اس امتزاج نے bcrypt کو دو دہائیوں سے پہلے سے طے شدہ پاس ورڈ ہیش بنا دیا اور آج ایک مضبوط انتخاب ہے۔
جدید متبادل موجود ہیں۔ Argon2 نے 2015 کا پاس ورڈ ہیشنگ مقابلہ جیتا اور وقت کی سختی کے علاوہ میموری کی سختی بھی پیش کرتا ہے۔ سکرپٹ اسی طرح کی خصوصیات پیش کرتا ہے۔ نئے ڈیزائن کے لیے، Argon2id تجویز کردہ انتخاب ہے۔ bcrypt قابل قبول اور وسیع پیمانے پر تعینات ہے، خاص طور پر ایسے ماحول میں جہاں Argon2 دستیاب نہیں ہے۔
پاس ورڈز کو سادہ متن کے طور پر محفوظ کرنا بددیانتی ہے۔ انہیں SHA-256 جیسے تیز ہیش کے ساتھ ذخیرہ کرنا بمشکل بہتر ہے — جدید GPUs فی سیکنڈ میں اربوں SHA-256 ہیشز کی گنتی کرتے ہیں، جس سے کسی بھی عام پاس ورڈ کے خلاف گھنٹہ میں قابل عمل حملے ہوتے ہیں۔ bcrypt کی جان بوجھ کر سست روی معاشیات کو بدل دیتی ہے: لاگت کے عنصر 12 پر، ایک حملہ آور تقریباً 250 ms فی امیدوار پاس ورڈ خرچ کرتا ہے، جس سے کسی بھی غیر معمولی پاس ورڈ کے لیے بریوٹ فورس ناقابل عمل ہے۔
bcrypt کا خودکار فی پاس ورڈ نمک رینبو ٹیبل حملوں کو بھی شکست دیتا ہے۔ ایک ہی پاس ورڈ والے دو صارفین مختلف bcrypt ہیش تیار کرتے ہیں کیونکہ ان کے نمکیات مختلف ہوتے ہیں۔ پاس ورڈ ڈیٹا بیس سے سمجھوتہ کرنے سے حملہ آور کو عام پاس ورڈز یا پہلے سے کمپیوٹیڈ ٹیبل ہٹ کی جلدی شناخت نہیں ہونے دیتی۔
پاس ورڈ ٹائپ کریں، قیمت کا انتخاب کریں، ہیش حاصل کریں۔
bcrypt ایک ترمیم شدہ بلو فش سائفر کے کلیدی سیٹ اپ مرحلے کا استعمال کرتا ہے، 2^قیمت بار دہرایا جاتا ہے۔ لاگت کا عنصر لوگاریتھمک ہے — لاگت 12 لاگت 11 سے دوگنا سست ہے، لاگت 10 سے چار گنا سست ہے۔ یہ لوگاریتھمک اسکیلنگ منتظمین کو نظام کو دوبارہ ڈیزائن کیے بغیر، ہارڈ ویئر کے بہتر ہونے کے ساتھ ساتھ وقت کے ساتھ لاگت کو بڑھانے دیتی ہے۔
آؤٹ پٹ فارمیٹ $version$cost$saltAndHash ہے جہاں saltAndHash ایک حسب ضرورت حروف تہجی کے ساتھ base64-انکوڈ شدہ ہے۔ ورژن عام طور پر $2b$ ہے (جدید ویرینٹ جس میں ریپراؤنڈ بگ فکسڈ ہے) یا $2y$ (PHP کے لیے مخصوص، مساوی)۔ نمک 16 بائٹس ہے۔ ہیش 24 بائٹس ہے؛ وہ مل کر custom-base64 کے 53 حروف کو انکوڈ کرتے ہیں۔
زیادہ سے زیادہ ان پٹ کی لمبائی 72 بائٹس ہے (بلو فش کلیدی لمبائی کی حد)۔ لمبے پاس ورڈز کو خاموشی سے کاٹ دیا جاتا ہے، جو کہ ایک دیرینہ bcrypt quirk ہے۔ بہترین طریقہ یہ ہے کہ پاس ورڈ کی لمبائی کو 72 بائٹس تک محدود کیا جائے یا SHA-256 کے ساتھ پری ہیش کیا جائے تاکہ bcrypt سے پہلے لمبائی کو معمول پر لایا جا سکے۔