Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में सुरक्षित रैंडम नंबर जेनरेट करना: RNGCryptoServiceProvider


क्रिप्टोग्राफिक रूप से सुरक्षित रैंडम नंबर्स के लिए C# में RNGCryptoServiceProvider क्लास का उपयोग किया जाता है। यह System.Security.Cryptography नेमस्पेस में है और एक क्रिप्टोग्राफिक रैंडम नंबर जेनरेटर (RNG) लागू करता है। सामान्य Random क्लास प्रिडिक्टेबल होती है, जबकि यह क्लास सुरक्षा-संवेदनशील कार्यों के लिए उपयुक्त है।

उदाहरण: सुरक्षित रैंडम नंबर जेनरेटर

using System;
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);
        }
        
        // रैंडम मान से 5 अंक निकालकर दशमलव बनाना
        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

मुख्य बिंदु

  • GetBytes(byte[]) बाइट ऐरे को क्रिप्टोग्राफिक रूप से रैंडम बाइट्स से भरता है।
  • using ब्लॉक सुनिश्चित करता है कि अनमैनेज्ड संसाधन मुक्त हों।
  • पासवर्ड, टोकन, OTP, एन्क्रिप्शन कीज़ के लिए इसका उपयोग करें।
  • .NET Core / .NET 6+ में RandomNumberGenerator (static क्लास) पसंदीदा है।
  1. - एंड्रॉइड में कोटलिन का उपयोग करके दी गई सीमा में यादृच्छिक संख्या कैसे उत्पन्न करें?

    कोटलिन में रेंज में यादृच्छिक संख्या उत्पन्न करना यह उदाहरण दर्शाता है कि Random क्लास का उपयोग करके निर्दिष्ट न्यूनतम और अधिकतम मानों के बीच यादृच्छिक पूर्णांक कैसे उत्पन्न किया जाए। चरण 1: नया प्रोजेक्ट बनाएं एंड्रॉइड स्टूडियो में File → New Project चुनें। चरण 2: लेआउट (activity_main.xml) <?x

  1. - MySQL स्टोर्ड प्रोसीजर में 5 रैंडम नंबर कैसे जनरेट करें?

    MySQL स्टोर्ड प्रोसीजर में ORDER BY RAND() का उपयोग करके रैंडम नंबर जनरेट करना MySQL में रैंडम नंबर जनरेट करने के लिए ORDER BY RAND() फ़ंक्शन का उपयोग किया जाता है। यहाँ हम एक स्टोर्ड प्रोसीजर बनाकर 5 रैंडम नंबर जनरेट करेंगे। उदाहरण के साथ पूर्ण कार्यान्वयन आइए पहले एक टेबल बनाते हैं: CREATE TABLE

  1. रिकर्सिव फंक्शन का उपयोग करके संख्याओं का GCD खोजने का C प्रोग्राम रिकर्सिव फंक्शन का उपयोग करके संख्याओं का GCD खोजने का C प्रोग्राम

    समस्या C प्रोग्रामिंग भाषा में रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं के लिए महत्तम सामान्य भाजक (GCD) खोजें। समाधान रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं के लिए महत्तम सामान्य भाजक (GCD) खोजने का समाधान निम्नानुसार है: एल्गोरिथम रिकर्सिव फंक्शन का उपयोग करके दो दी गई संख्याओं क