सुरक्षित यादृच्छिक संख्याओं के लिए, RNCryptoServiceProvider क्लास का उपयोग करें। यह एक क्रिप्टोग्राफ़िक रैंडम नंबर जेनरेटर लागू करता है।
उसी वर्ग का उपयोग करते हुए, हमने निम्नलिखित का उपयोग करके कुछ यादृच्छिक मान पाए हैं -
using (RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider()) { byte[] val = new byte[6]; crypto.GetBytes(val); randomvalue = BitConverter.ToInt32(val, 1); }
यादृच्छिक सुरक्षित संख्याएँ उत्पन्न करने के लिए, आप निम्न कोड को चलाने का प्रयास कर सकते हैं।
उदाहरण
using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; using System.Security.Cryptography; public class Demo { public static void Main(string[] args) { for (int i = 0; i <= 5; i++) { Console.WriteLine(randomFunc()); } } private static double randomFunc() { string n = ""; int randomvalue; double n2; using (RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider()) { byte[] val = new byte[6]; crypto.GetBytes(val); randomvalue = BitConverter.ToInt32(val, 1); } n += randomvalue.ToString().Substring(1, 1)[0]; n += randomvalue.ToString().Substring(2, 1)[0]; n += randomvalue.ToString().Substring(3, 1)[0]; n += randomvalue.ToString().Substring(4, 1)[0]; n += randomvalue.ToString().Substring(5, 1)[0]; double.TryParse(n, out n2); n2 = n2 / 100000; return n2; } }
आउटपुट
0.13559 0.0465 0.18058 0.26494 0.52231 0.78927