2012-05-16 4 views
8

मैं RSA कुंजी एल्गोरिदम लागू करने के लिए काम करता हूं। लेकिन मैं 2048-बिट मान का उपयोग नहीं कर सका। मैं इसका उपयोग कैसे कर सकता हूं?मैं सी # के साथ बिगिनट का उपयोग कैसे कर सकता हूं?

मैं बड़ा पूर्णांक का उपयोग करना चाहता हूं।

+1

आमतौर पर आरएसए कुंजी एल्गोरिदम एक समय में 8 बिट्स पर काम करते हैं। आपकी कुंजी को 8 इंडेक्स के साथ बाइट सरणी में रखा जाएगा। – Trisped

+1

डुप्लिकेट नहीं है। मैं लंबे या int64 का उपयोग नहीं करना चाहता हूँ। वे मेरे लिए पर्याप्त नहीं हैं –

उत्तर

22

आप System.Numerics.BigInteger का उपयोग कर सकते हैं (System.Numerics असेंबली का संदर्भ जोड़ें)। जैसा कि टिप्पणियों में उल्लेख किया गया है, हालांकि यह सही दृष्टिकोण नहीं हो सकता है।

+0

दरअसल, BigInteger जाने का रास्ता है। मामूली नोट: यह केवल .NET 4.0 और उच्चतर में उपलब्ध है। –

8

बड़े पूर्णांक के लिए मूल समर्थन .NET 4.0 में पेश किया गया है। बस System.Numerics पर असेंबली संदर्भ जोड़ें, अपनी कोड फ़ाइल के शीर्ष पर using System.Numerics; घोषणा जोड़ें, और आप जाने के लिए अच्छे हैं। आप जिस प्रकार के बाद हैं वह BigInteger है।

1

बेहतर उपयोग System.Numerics.BigInteger

6

यहां BigInteger का उपयोग कर रहा है। यह विधि n तक फिबोनासी अनुक्रम में संख्याओं को मुद्रित करती है।

public static void FibonacciSequence(int n) 
{ 
    /** BigInteger easily holds the first 1000 numbers in the Fibonacci Sequence. **/ 
    List<BigInteger> fibonacci = new List<BigInteger>(); 
    fibonacci.Add(0); 
    fibonacci.Add(1); 
    BigInteger i = 2; 
    while(i < n) 
    {     
     int first = (int)i - 2; 
     int second = (int) i - 1; 

     BigInteger firstNumber = fibonacci[first]; 
     BigInteger secondNumber = fibonacci[second]; 
     BigInteger sum = firstNumber + secondNumber; 
     fibonacci.Add(sum); 
     i++; 
    }   

    foreach (BigInteger f in fibonacci) { Console.WriteLine(f); } 
} 
संबंधित मुद्दे