مولد تشفير Bcrypt

أداة بسيطة لإنتاج والتحقق من تشفير bcrypt. تتم جميع العمليات في متصفحك من أجل الأمان.

إنتاج التشفير

إنتاج تشفير bcrypt من النص الخاص بك. الجولات الأعلى توفر أماناً أفضل لكنها تستغرق وقتاً أطول للمعالجة.
الحد الأقصى 1000 حرف
سريع (4) عالي آمن (15)
الجولات الأعلى تزيد الأمان لكنها تستغرق وقتاً أطول للحساب. 12 جولة موصى بها لمعظم التطبيقات.

التحقق من التشفير

التحقق من تطابق تشفير bcrypt مع النص الأصلي.

حول تشفير Bcrypt

ما هو Bcrypt؟

Bcrypt هو دالة تشفير كلمات المرور مصممة من قبل نيلز بروفوس وديفيد مازيريس، مبنية على شيفرة Blowfish. تتضمن ملحاً للحماية من هجمات جدول قوس قزح وهي قابلة للتكيف، مما يعني أنه يمكن جعلها أبطأ مع زيادة القوة الحاسوبية.

كيف يعمل

يستخدم Bcrypt تقنية تسمى تمديد المفتاح، مما يجعل عملية التشفير بطيئة عمداً. هذا يجعل من المكلف حاسوبياً للمهاجمين كسر كلمات المرور من خلال هجمات القوة الغاشمة.

عامل التكلفة (الجولات)

عامل التكلفة يحدد مدى بطء دالة التشفير. كل زيادة تضاعف وقت الحساب. تكلفة 12 موصى بها حالياً لمعظم التطبيقات، توفر توازناً جيداً بين الأمان والأداء.

فوائد الأمان
  • دالة قابلة للتكيف - يمكن زيادة التكلفة مع تحسن الأجهزة
  • إنتاج الملح المدمج يمنع هجمات جدول قوس قزح
  • بطيئة عمداً لمنع هجمات القوة الغاشمة
  • مختبرة في المعارك ومعتمدة على نطاق واسع في الصناعة

أمثلة الاستخدام

مثال PHP
// إنتاج التشفير
$password = "mySecretPassword";
$hash = password_hash($password, PASSWORD_BCRYPT, ['cost' => 12]);

// التحقق من كلمة المرور
if (password_verify($password, $hash)) {
    echo "كلمة المرور صحيحة!";
}
مثال Node.js
// إنتاج التشفير
const bcrypt = require('bcrypt');
const saltRounds = 12;
const hash = await bcrypt.hash('mySecretPassword', saltRounds);

// التحقق من كلمة المرور
const isValid = await bcrypt.compare('mySecretPassword', hash);

أفضل ممارسات الأمان

اختيار الجولات
  • استخدم على الأقل 12 جولة لأنظمة الإنتاج
  • اختبر الأداء على أجهزتك قبل النشر
  • فكر في زيادة الجولات مع تحسن الأجهزة
الأمان العام
  • لا تخزن كلمات المرور كنص خام أبداً
  • استخدم bcrypt دائماً لتشفير كلمات المرور
  • طبق تحديد المعدل المناسب للمصادقة
  • استخدم تدابير أمنية إضافية مثل 2FA