Menu
CoddyTech

قيمة Salt جديدة

جزء من قسم المصادقة والأمان في رحلة Node.js على Coddy. الدرس 3 من 24.

يمكن للأشخاص اختيار كلمة المرور نفسها. الملح بيانات عشوائية تُضمَّن عند اشتقاق مفتاح كلمة المرور المخزَّن. يجعل الملح الجديد كلمات المرور المتطابقة تنتج مفاتيح مخزَّنة مختلفة. يُحفَظ الملح بجانب المفتاح؛ ولا يلزم أن يكون سريًا.

const salt = randomBytes(8).toString('hex');
// 8 بايتات عشوائية ممثّلة بـ16 محرفًا بالنظام الست عشري

أنشئ الملح داخل الدالة التي تُستدعى لكل كلمة مرور جديدة. أما القيمة التي تُنشأ مرة واحدة عند بدء الخادم فستُستخدم مجددًا. لقد اشتققت مفتاحًا باستخدام ملح تجريبي ثابت. يتطلب تخزين كلمات المرور الآن ملحًا جديدًا في كل مرة. هنا، تدرّب فقط على إنشاء الملح ومعرفة أن طول نصه 32 حرفًا.

تستخدم randomBytes مولّدًا عشوائيًا تشفيريًا. إن Math.random() غير مخصّصة للقيم الحساسة أمنيًا. استخدم الدالة التشفيرية المستوردة للملح.

challenge icon

التحدي

سهل

هذا مشروع تدريبي صغير. إعداد المشروع مُوفَّر؛ عدّل exercise.js فقط.

أعِد ملحًا عشوائيًا جديدًا من 16 بايت بصيغة سداسية عشرية في salt. أرسل طلب GET إلى /result مرتين: ستحتوي كل استجابة على سلسلة سداسية عشرية مختلفة مكوّنة من 32 حرفًا. لا تستخدم ملحًا ثابتًا.

جرّب بنفسك

import { randomBytes } from 'node:crypto';
export function exercise() {
    return { salt: '00000000000000000000000000000000' };
}

جميع دروس المصادقة والأمان

تدرّب بنفسك: Playground لـ Express