Io lavoro per implementare un algoritmo chiave RSA. Ma non potrei usare un valore di 2048 bit. Come posso usarlo?Come posso usare bigint con C#?
Voglio utilizzare il numero intero grande.
Io lavoro per implementare un algoritmo chiave RSA. Ma non potrei usare un valore di 2048 bit. Come posso usarlo?Come posso usare bigint con C#?
Voglio utilizzare il numero intero grande.
È possibile utilizzare System.Numerics.BigInteger
(aggiungere un riferimento all'assembly System.Numerics). Come menzionato nei commenti, questo potrebbe non essere l'approccio giusto.
Infatti, BigInteger è la strada da percorrere. Nota secondaria: è disponibile solo in .NET 4.0 e versioni successive. –
In .NET 4.0 è stato introdotto il supporto nativo per i grandi numeri interi. Basta aggiungere un riferimento all'assembly a System.Numerics
, aggiungere una dichiarazione using System.Numerics;
nella parte superiore del file di codice e sei a posto. Il tipo che stai cercando è BigInteger
.
BigInteger
disponibile in .NET 4.0 o versioni successive. There are some third-party implementations as well (Nel caso in cui si stia utilizzando una versione precedente del framework).
Migliore utilizzo System.Numerics.BigInteger
.
Ecco come utilizzare BigInteger
. Questo metodo stampa i numeri nella sequenza di Fibonacci fino a 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); }
}
Di solito gli algoritmi delle chiavi RSA funzionano su 8 bit alla volta. La tua chiave verrebbe inserita in un array di byte con 8 indici. – Trisped
non duplicato. Io non voglio usare long o int64. non mi bastano –