أداة إنشاء Argon2
أنشئ تجزئة لكلمة مرور باستخدام Argon2id مع قيمة ملح عشوائية بطول 16 بايتًا، واختر الذاكرة وعدد التكرارات والتوازي وطول التجزئة. الحد الأقصى للذاكرة 64 MiB ولعدد التكرارات 4، وتتبع القيم الافتراضية خط الأساس الذي توصي به OWASP: 19 MiB وتمريرتان. تعرض الأداة سلسلة PHC القياسية التي تبدأ بـ $argon2id$v=19$، ويمكن التحقق منها باستخدام PHP وlibsodium ومكتبات argon2. لا تُعرَض كلمة المرور مطلقًا.
الأسئلة الشائعة
ما هو Argon2id؟
فازت Argon2 بمسابقة تجزئة كلمات المرور في 2015، وهي محددة في RFC 9106. Argon2id هو النوع الهجين الذي يقاوم هجمات القنوات الجانبية وهجمات GPU. وهو النوع الذي توصي به OWASP وRFC لتخزين كلمات المرور.
ما المقصود بإعدادات الذاكرة والتكرارات والتوازي؟
تحدد الذاكرة عدد وحدات MiB التي تستخدمها كل تجزئة، ويحدد عدد التكرارات عدد مرات المرور على تلك الذاكرة، بينما يحدد التوازي عدد المسارات. تؤدي زيادة الذاكرة والتكرارات إلى رفع تكلفة كل محاولة تخمين على المهاجمين. تتراوح الذاكرة هنا بين 1 و64 MiB، والتكرارات بين 1 و4، والتوازي بين 1 و4.
ما الإعدادات التي ينبغي أن أستخدمها؟
القيم الافتراضية هي 19 MiB وتكراران ومسار واحد، وهي الحد الأدنى الذي توصي به OWASP لـ Argon2id. القيمة الافتراضية في PHP هي 64 MiB و4 تكرارات، ويمكنك إعادة إنتاجها هنا أيضًا. في بيئة الإنتاج، استخدم أكبر قدر من الذاكرة يمكن لخوادمك تخصيصه لكل عملية تسجيل دخول.
لماذا يوجد حد أقصى للذاكرة والتكرارات؟
تخصص كل تجزئة فعلًا الذاكرة التي تطلبها، وتنفذ كل مرور على خادم مشترك. يحافظ تحديد الحد عند 64 MiB و4 تكرارات على زمن كل طلب دون ثانية، مع تغطية الإعدادات الشائعة في بيئات الإنتاج.
ماذا تحتوي سلسلة الإخراج؟
تسرد نتيجة مثل $argon2id$v=19$m=19456,t=2,p=1$، متبوعة بقيمة الملح والتجزئة، النوع والإصدار والذاكرة بوحدة KiB وعدد التكرارات والمسارات. قيمة الملح والتجزئة بترميز Base64 دون حشو. خزّن السلسلة كاملة، لأن التحقق يقرأ منها كل الإعدادات.
لماذا تختلف التجزئة في كل مرة؟
يستخدم كل طلب قيمة ملح عشوائية جديدة بطول 16 بايتًا، لذا تنتج كلمة المرور نفسها سلسلة مختلفة في كل مرة. ويمكن التحقق من صحة كل هذه السلاسل باستخدام كلمة المرور الصحيحة.
هل يمكنني اختيار طول التجزئة؟
نعم، من 16 إلى 64 بايتًا، والقيمة الافتراضية 32 بايتًا. لا تجعل الرموز الأطول التخمين أصعب، لذا تكفي 32 بايتًا لتخزين كلمات المرور.
ما الأنظمة التي تقبل هذه التجزئات؟
تقرأ كل من PHP password_verify وcrypto_pwhash_str_verify من libsodium وحزمة argon2 لـ Node.js وargon2-cffi لـ Python وSpring Security تنسيق PHC string. ويتحقق منها أيضًا مدقق Argon2 على هذا الموقع.
هل تُخزَّن كلمة مروري أو تُعاد إليّ؟
لا. تُستخدم كلمة المرور في الذاكرة فقط لحساب التجزئة، وتُحذف من الاستجابة. ولا تُسجَّل أو تُحفَظ مطلقًا.
هل يمكنني إنشاء تجزئات Argon2i أو Argon2d؟
لا. تنشئ الأداة تجزئات Argon2id فقط، لأنه النوع الموصى به لكلمات المرور. ومع ذلك، يقبل مدقق Argon2 تجزئات Argon2i وArgon2d.