Trabajo para implementar un algoritmo de clave RSA. Pero no pude usar un valor de 2048 bits. ¿Cómo puedo usarlo?¿Cómo puedo usar bigint con C#?
Quiero usar un número entero grande.
Trabajo para implementar un algoritmo de clave RSA. Pero no pude usar un valor de 2048 bits. ¿Cómo puedo usarlo?¿Cómo puedo usar bigint con C#?
Quiero usar un número entero grande.
Puede usar System.Numerics.BigInteger
(agregue una referencia al ensamblaje System.Numerics). Como se mencionó en los comentarios, este podría no ser el enfoque correcto.
De hecho, BigInteger es el camino a seguir. Nota secundaria: solo está disponible en .NET 4.0 y versiones posteriores. –
La compatibilidad nativa para enteros grandes se ha introducido en .NET 4.0. Simplemente agregue una referencia de ensamblaje al System.Numerics
, agregue una declaración using System.Numerics;
en la parte superior de su archivo de código, y listo. El tipo que buscas es BigInteger
.
BigInteger
está disponible en .NET 4.0 o posterior. There are some third-party implementations as well (en caso de que esté utilizando una versión anterior del marco).
Mejor uso System.Numerics.BigInteger
.
Aquí está usando BigInteger
. Este método imprime números en la secuencia de Fibonacci hasta 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); }
}
Normalmente los algoritmos de clave RSA funcionan en 8 bits a la vez. Su clave se colocará en una matriz de bytes con 8 índices. – Trisped
no duplicado. No quiero usar long o int64. no me bastan –