• 0

كيف أُشفِّر نصوص غير قابلة للرجوع في C#؟

أقوم بالعمل على موقع الكتروني وأريد القيام بتشفير كلمات المرور قبل تخزينها في قاعدة البيانات بحيث لا يمكن معرفتها عند قراءتها (أي أنها تخزن مشفرة) كيف أقوم بذلك؟ علمًا أنني أعمل على ASP.Net بلغة C#

تمّ تعديل بواسطة عامر بيرادي

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

توفر تقنية MD5 إمكانية تشفير النصوص بطريقة لا يمكن فيها الرجوع للنص الأصلي بحيث تتم المقارنة بين النصوص بعد التشفير ولا يتم التعامل مع النصوص بصيغتها الأصلية.
يتم تشفير النصوص باستخدام الصف MD5 في C# وإنشاء غرض منه من النوع MD5CryptoServiceProvider:
كما في المثال التالي:

MD5 md5 = new MD5CryptoServiceProvider();

ومن ثم استدعاء الدالة CopmuteHash وتمرير معامل Argument وهو النص المراد تشفيره باستخدام ASCIIEncoding.ASCII.GetBytes(text).

//compute hash from the bytes of text
        md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(text));

بعد ذلك قم بأخذ القيمة من الغرض md5 عن طريق الدالة Hash حيث أن القيمة المرتجعة هي عبارة مصفوفة من byte.

   byte[] result = md5.Hash;

في النهاية أنشئ StringBuilder واعمل append للنتيجة كما في المثال التالي:

  public static string MD5Hash(string text)
    {
        MD5 md5 = new MD5CryptoServiceProvider();

        //compute hash from the bytes of text
        md5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(text));

        //get hash result after compute it
        byte[] result = md5.Hash;

        StringBuilder strBuilder = new StringBuilder();
        for (int i = 0; i < result.Length; i++)
        {
            //change it into 2 hexadecimal digits
            //for each byte
            strBuilder.Append(result[i].ToString("x2"));
        }
        return strBuilder.ToString();
    }

تشفير نصوص باستخدام MD5

3 اشخاص أعجبوا بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن