Tôi làm việc để triển khai thuật toán khóa RSA. Nhưng tôi không thể sử dụng giá trị 2048 bit. Làm thế nào tôi có thể sử dụng nó?Làm thế nào tôi có thể sử dụng bigint với C#?
Tôi muốn sử dụng số nguyên lớn.
Tôi làm việc để triển khai thuật toán khóa RSA. Nhưng tôi không thể sử dụng giá trị 2048 bit. Làm thế nào tôi có thể sử dụng nó?Làm thế nào tôi có thể sử dụng bigint với C#?
Tôi muốn sử dụng số nguyên lớn.
Bạn có thể sử dụng System.Numerics.BigInteger
(thêm tham chiếu đến System.Numerics assembly). Như đã đề cập trong các ý kiến này có thể không phải là cách tiếp cận đúng mặc dù.
Thật vậy, BigInteger là con đường để đi. Ghi chú nhỏ: chỉ có sẵn trong .NET 4.0 trở lên. –
Hỗ trợ gốc cho số nguyên lớn đã được giới thiệu trong .NET 4.0. Chỉ cần thêm tham chiếu lắp ráp vào System.Numerics
, thêm tuyên bố using System.Numerics;
ở đầu tệp mã của bạn và bạn đã sẵn sàng sử dụng. Loại bạn đang theo dõi là BigInteger
.
BigInteger
khả dụng trong .NET 4.0 trở lên. There are some third-party implementations as well (Trong trường hợp bạn đang sử dụng phiên bản cũ hơn của khung công tác).
Sử dụng tốt hơn System.Numerics.BigInteger
.
Đây là sử dụng BigInteger
. Phương thức này In các số trong dãy Fibonacci lên đến 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); }
}
Thông thường thuật toán khóa RSA hoạt động trên 8 bit tại một thời điểm. Khóa của bạn sẽ được đặt trong một mảng byte với 8 chỉ mục. – Trisped
không trùng lặp. tôi không muốn sử dụng dài hoặc int64. họ không đủ cho tôi –