تواصل معنا
Webflow Premium Partner إيهاب فايز
العودة لأدوات AI Coding
الأمان والجودة

bcrypt Password Hashing

تشفير والتحقق من كلمات المرور بأمان باستخدام bcrypt مع جولات ملح قابلة للتكوين في Node.js.

Claude Code Cursor Copilot Windsurf Gemini CLI Codex

نظرة عامة

bcrypt هي دالة تجزئة كلمات المرور صممها Niels Provos وDavid Mazieres بناءً على شفرة Blowfish. توفر مكتبة node.bcrypt.js روابط C++ أصلية لـ bcrypt في Node.js مما يوفر تجزئة كلمات مرور عالية الأداء مع توليد ملح تلقائي وعوامل عمل قابلة للتكوين.

يتحكم معامل عامل العمل (جولات الملح) في التكلفة الحسابية للتجزئة. كل زيادة تضاعف الوقت المطلوب مما يتيح لك توسيع الأمان مع تحسن الأجهزة. يوصى عادة بعامل عمل من 10-12 للاستخدام الإنتاجي لتحقيق التوازن بين الأمان ووقت الاستجابة. تتعامل المكتبة مع توليد الملح تلقائياً وتضمين الملح في مخرجات التجزئة.

صُمم bcrypt خصيصاً لتجزئة كلمات المرور على عكس دوال التجزئة العامة مثل SHA-256. بطؤه المتعمد والملح المدمج يجعلانه مقاوماً لهجمات جدول قوس قزح وهجمات القوة الغاشمة والاختراق المسرّع بوحدات GPU. توفر المكتبة واجهات برمجة تطبيقات متزامنة وغير متزامنة مع التوصية بالإصدار غير المتزامن لتطبيقات الخادم لتجنب حظر حلقة الأحداث.

لمن هذه الأداة؟

  • تجزئة كلمات مرور المستخدمين قبل التخزين في قاعدة البيانات
  • التحقق من كلمات المرور أثناء مصادقة تسجيل الدخول
  • الترحيل من تجزئة كلمات المرور MD5/SHA إلى bcrypt
  • تنفيذ تغيير كلمة المرور مع التحقق من كلمة المرور القديمة

التثبيت

إعداد Claude Code
npm install bcrypt && npm install -D @types/bcrypt

الإعدادات

import bcrypt from "bcrypt"

const SALT_ROUNDS = 12

// Hash a password
const hash = await bcrypt.hash(plainPassword, SALT_ROUNDS)

// Verify a password
const isMatch = await bcrypt.compare(plainPassword, hash)