انتقل إلى المحتوى

مولّد Scrypt

اشتق مفتاح scrypt من كلمة مرور باستخدام ملح عشوائي أو مخصص. اختر أسّ التكلفة حتى 15 (N حتى 32768)، وحجم الكتلة r حتى 8، والتوازي p حتى 4، وطول مفتاح من 16 إلى 64 بايت. تتبع الأداة RFC 7914، وتُرجع المفتاح والملح المستخدم والمعلمات بصيغة hex أو Base64، لتكون جاهزة للمقارنة مع Node.js crypto.scrypt أو Python hashlib أو libsodium. ولا تعرض كلمة المرور.

إعادة تعيين

الأسئلة الشائعة

ما هو scrypt؟

scrypt هي دالة اشتقاق مفاتيح كثيفة الذاكرة ابتكرها Colin Percival، وجرى توحيدها في RFC 7914. وهي تشتق مفتاحًا من كلمة مرور وملح، مع فرض استخدام كتلة كبيرة من الذاكرة في كل محاولة. وتُستخدم لتخزين كلمات المرور وتشفير الأقراص وبعض العملات المشفرة.

ماذا تعني N وr وp؟

تمثل N تكلفة المعالج والذاكرة ويجب أن تكون قوة للعدد اثنين، بينما تمثل r حجم الكتلة وp عامل التوازي. يبلغ استخدام الذاكرة نحو 128 مضروبًا في N وr بايت، لذا فإن N = 16384 مع r = 8 يتطلب 16 MiB. يصل الحد هنا إلى 32768 لـ N، و8 لـ r، و4 لـ p.

ما المعلمات الافتراضية؟

القيم الافتراضية هي N = 16384 (أسّ التكلفة 14)، وr = 8، وp = 1، ومفتاح بطول 32 بايت، وهي الإعدادات التفاعلية الموصى بها في ورقة scrypt. ارفع N لتعزيز الحماية بقدر ما يسمح به نظامك.

كيف يُختار الملح؟

إذا كان حقل الملح فارغًا، تنشئ الأداة 16 بايتًا عشوائيًا وتعرضها في النتيجة. وإذا أدخلت ملحًا، تُستخدم بايتاته بترميز UTF-8، ما يتيح لك إعادة إنتاج مفتاح من نظام آخر. لا تُعِد استخدام الملح نفسه لكلمات مرور مختلفة.

هل يمكنني إعادة إنتاج متجهات الاختبار في RFC 7914؟

نعم. كلمة المرور pleaseletmein مع الملح SodiumChloride، وأُسّ التكلفة 14، وr = 8، وp = 1، ومفتاح بطول 64 بايتًا، تعطي 7023bdcb3afd7348461c06cd81fd38ebfda8fbba904f8e3ea9b543f6545da1f2d5432955613f0fcf62d49705242a9af9e61e85dc0d651e40dfcf017b45575887، وهو متجه الاختبار الثالث في RFC.

لماذا توجد حدود للمعلمات؟

تخصص scrypt ذاكرة فعلية وتعمل على خادم مشترك. ويضمن تحديد N عند 32768 وr عند 8 وp عند 4 أن يستهلك كل اشتقاق أقل من نحو 32 MiB من الذاكرة، وأن يستغرق العمل ثانية أو ثانيتين.

كيف أخزن تجزئة كلمة مرور scrypt؟

خزّن المفتاح والملح وN وr وp معًا، لأنك تحتاج إليها جميعًا للتحقق من كلمة المرور لاحقًا. وتترك مكتبات مثل Node.js crypto.scrypt تنسيق التخزين لك، بينما تستخدم مكتبات أخرى تنسيقات سلاسل خاصة بها.

هل تُضمَّن كلمة مروري في النتيجة؟

لا. تتضمن الاستجابة المفتاح والملح والمعلمات، ولا تتضمن كلمة المرور مطلقًا. ولا يُسجَّل أي شيء أو يُخزَّن.

هل أستخدم scrypt أم Argon2؟

كلاهما يتطلب قدرًا كبيرًا من الذاكرة ويناسبان كلمات المرور. يُعد Argon2id التوصية الأحدث وأسهل ضبطًا، بينما يحظى scrypt بدعم واسع في المكتبات القياسية مثل Node.js وPython.

ما الذي تغيّره خيارتا hex وBase64؟

تغيّران طريقة كتابة المفتاح والملح في النتيجة. البايتات هي نفسها، لذا اختر الصيغة التي يقرأها كودك.

نبذة عن OneClick Pro

OneClick Pro مجموعة مجانية تضم أكثر من 150 أداة ويب للمهام اليومية: تحويل الصور والوحدات، وتنسيق الأكواد والتحقق من صحتها، وفحص النطاقات وSEO، والعمل مع النصوص والتواريخ والأرقام. تعمل كل أداة دون تسجيل أو اشتراك، ولا تُستخدم البيانات التي تُدخلها إلا لحساب النتيجة ولا تُخزّن مطلقًا. استخدمها كصندوق أدوات سريع للمهام المنفردة، أو أضف الأدوات التي تعتمد عليها يوميًا إلى إشاراتك المرجعية.