سؤال

لقد بحثت في جميع أنحاء Google ولم أتمكن من العثور على نموذج تعليمات برمجية لاستخدام Scrypt (لتجزئة كلمة المرور) باستخدام كريبتشارب مكتبة.

هل يمكنك تقديم نموذج لتجزئة كلمة المرور؟

هل كانت مفيدة؟

المحلول

انه فقط مكالمة واحدة لذلك سأرشدك عبر المعلمات:

  1. key:هذه هي كلمة المرور الخاصة بك، استخدم ترميز UTF-8 (بدون علامة ترتيب البايت) لتشفير كلمة المرور الخاصة بك في مصفوفة بايت؛
  2. salt:سلسلة من البايتات العشوائية الآمنة المخزنة مع نتيجة وظيفة التشفير، يجب أن يكون 16 بايت كافية؛
  3. cost:الاقتراح المقدم هو 262144، ولكن قد ترغب في زيادة هذه القيمة إذا كان خادمك يمكنه التعامل مع التحميل الإضافي؛
  4. blockSize:انظر التكلفة، الاقتراح المقدم هو 8؛
  5. parallel:سأحتفظ بهذا عند 1 إلا إذا كنت ترغب في تجربة الخيوط المتعددة؛
  6. maxThreads:على العموم null سوف تفعل بشكل جيد.
  7. derivedKeyLength:حسنًا، هذا يعتمد، بالنسبة لكلمات المرور 128 يجب أن تكون كافية، على الرغم من أنه من غير المحتمل أن تحتوي كلمة المرور الخاصة بك على أكثر من 128 بت من الأمان.

يجب عليك تخزين الملح والنتيجة على الأقل.قد ترغب في استخدام ترميز الأساس 64 إذا كنت تريد تخزينها كسلاسل.

أنصحك بتخزين جزء إضافي من البيانات:نسخة من نظام اشتقاق المفتاح المعتمد على كلمة المرور (PBKDF).قل، اضبطه على 1 لاستخدام scrypt، استخدم ترميز المفتاح المحدد وحجم الملح والتكلفة وحجم الكتلة وما إلى ذلك.في هذه الحالة، يمكنك ترقية نظامك لاحقًا (تحتاج إلى قيام المستخدم بتوفير كلمة المرور الخاصة به للقيام بذلك، لذلك سيتعين عليك القيام بذلك عبر الإنترنت، لذلك سينتهي بك الأمر بوجود أنظمة متعددة قيد التشغيل في نفس الوقت).

لاحظ أنه يمكنك إجراء تسلسل لاستدعاءات وظائف PBKDF، بحيث يمكنك استخدام مخرجات PBKDF الأصلية واستخدامها كمدخل لـ PBKDF التالي.في هذه الحالة، لا يتعين على المستخدم تقديم كلمة المرور (تم أخذ هذا التلميح من CodesInChaos في سؤال آخر).

نصائح أخرى

mazartebbodewes يوفر إجابة ممتازة مع نصائح إضافية حكيمة للغاية.هنا نموذج رمز مع توصياته.أود أيضا أن أقترح قراءة " كلمة المرور الخاصة بك لعنة قصيرة جدا الذي يوضح أهمية استخدام التشفير الحديث مثل (في وقت كتابة هذا التقرير) bcrypt أو Scrypt .

giveacodicetagpre.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top