اذهب إلى المحتوى
  • 0

كيف أشفّر كلمة سر مستخدم باستعمال #C؟

محمد بوسكوري

السؤال

لديّ في تطبيق #C حقل لإدخال كلمة سر المستخدم، وأريد زيادة درجة حماية تطبيق من خلال إضافة تشفير Hash لكلمة السر هاته، فكيف أقوم بذلك؟

هل من شفرة برمجية تفيدني في تطبيقي؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

عملية التشفير أو ما يصطلح عليها اسم Hash هي عملية تقوم بالأساس على تحويل كلمة سر مكوّنة من قيمة نصيّة إلى كلمة مشفّرة يصعب على المخترقين معرفتها، وتتم هذه العملية عبر خوارزميات معدّة خصيصًا لهذا الغرض، الهدف الأساسي من ذلك زيادة حماية التطبيق، هذا مثال عن كيفية عمل ذلك:

static byte[] GenerateSaltedHash(byte[] plainText, byte[] salt)
{
  HashAlgorithm algorithm = new SHA256Managed();

  byte[] plainTextWithSaltBytes = 
    new byte[plainText.Length + salt.Length];

  for (int i = 0; i < plainText.Length; i++)
  {
    plainTextWithSaltBytes[i] = plainText[i];
  }
  for (int i = 0; i < salt.Length; i++)
  {
    plainTextWithSaltBytes[plainText.Length + i] = salt[i];
  }

  return algorithm.ComputeHash(plainTextWithSaltBytes);            
}

ونلاحظ من خلال هذه الشيفرة أنه تم تحويل نص إلى مصفوفة مكوّنة من قيم byte، ليتم إعادة القيمة بشكل مشفّر في آخر الدالة.

كما يمكننا التأكد من تساوي قيمتين من نوع byte بواسطة الدالة التالية CompareByteArrays والتي تمر على كل عنصر من المصفوفة ومقارنته بنظيره:

public static bool CompareByteArrays(byte[] array1, byte[] array2)
{
  if (array1.Length != array2.Length)
  {
    return false;
  }

  for (int i = 0; i < array1.Length; i++)
  {
    if (array1[i] != array2[i])
    {
      return false;
    }
  }

  return true;
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...