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

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...