تم الكتابة في شوال 15, 1428 21:31

السلام عليكم ورحمة الله وبركاته ...

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

و قد وفرت شركة مايكروسوفت طريقة جديدة لتوليد الأرقام عن طريق استخدام دالة الـ RNGCryptoServiceProvider و ذلك لتوليد أرقام بطريقة آمنة. و الكود أدناه يوضخ طريقة الاستخدام.

public int GetRandom(int min, int max)

{

Random rnd = null;

RNGCryptoServiceProvider rand = new RNGCryptoServiceProvider();

// To fill Random number into.

byte[] r = new byte[10];

rand.GetBytes(r);

rnd = new Random(BitConverter.ToInt32(r, 0));

return rnd.Next(min, max);

}

 

و لا ننسى أن ندرج المكتبة System.Security.Cryptography باستخدام الأمر using .

و الكود أعلاه يقوم بتوليد رقم عشوائي محدود بـ Max و Min و يمكن تعديل الكود ليكون بدون حد أكبر و أدنا.

Del.icio.usDigg It!DZone It!Reddit


التعليقات

اضف تعليق


(سيظهر Gravatar أيقونة)  

  Country flag

biuquote
  • تعليق
  • استعراض
Loading



Sign in