Podczas wywoływania następujących funkcji:Szyfrowanie RSA, uzyskiwanie bad długość
byte[] bytes = rsa.Encrypt(System.Text.UTF8Encoding.UTF8.GetBytes(stringToEncrypt), true);
Jestem teraz otrzymuję błąd: złe długość.
Z mniejszym ciągiem działa, wszelkie pomysły na temat tego, jaki może być problem, że ciąg znaków, który przekazuję, ma mniej niż 200 znaków.
Znasz off rękę co .net object I powinien być używany do szyfrowania ciągi górę do 500 znaków? –
Dowolny z algorytmów symetrycznych. To zależy od celu, w jakim chcesz go zaszyfrować. Prawdopodobnie najlepiej to sformułować jako kolejne pytanie. – blowdart
Nie chodzi tylko o to, że jest on obszerny pod względem obliczeniowym. Algorytm RSA szyfruje określoną liczbę, tworząc inną liczbę. Ze względu na sposób działania algorytmu maksymalny rozmiar tej liczby. Im szerszy klucz, tym większa liczba możliwych do zaszyfrowania. Klucz 1024-bitowy ma szerokość 128 bajtów, a klucz 2048-bitowy ma 256 bajtów. Każdy może zaszyfrować liczbę o maksymalnej szerokości nieco mniejszej niż jej własna szerokość. Jeśli numer wejściowy jest zbyt duży, wyjście będzie takie samo, jak szyfrowanie innej liczby, która znajduje się w zasięgu, i nie ma sposobu, aby stwierdzić, które było rzeczywiste wejście. –