Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 2344|Odpowiedź: 3

[Źródło] Zaszyfruj backend za pomocą algorytmu RSA (. NET) odszyfrowane

[Skopiuj link]
Opublikowano w 2024-9-6 08:44:03 | | | |
Wymagania: Oryginalne hasło użytkownika w projekcie musi zostać przekazane do backendu, ponieważ backend musi wywołać interfejs zewnętrznego z tym hasłem. Jeśli hasło nie zostanie dobrze przekazane w tekście jawnym, jeśli zostanie wychwycone przez narzędzie do przechwytywania pakietów, hasło zostanie wyciekłe. Algorytm RSA został ostatecznie przyjęty, przy czym front-end szyfrował hasło kluczem publicznym, a backend kluczem prywatnym do jego odszyfrowania.

Frontend korzysta z pakietu jsencrypt, adres:Logowanie do linku jest widoczne.

Jeśli backend ma .NET 5 lub wyższą, możesz korzystać z wbudowanych funkcji, jeśli nie, prosimy o zastosowanie następujących parametrów:

.NET/C# RSA format PEM szyfrowanie i odszyfrowanie
https://www.itsvse.com/thread-10602-1-1.html

Po pierwsze, użyj openssl do generowania kluczy publicznych i prywatnych, ten artykuł jest wykonywany bezpośrednio na Linuksie (prosimy o pobranie i zainstalowanie openssl na systemie Windows), polecenie brzmi następująco:



Cat rsa_1024_priv.pem
-----ROZPOCZNIJ RSA KLUCZ PRYWATNY-----
MIICXAIBAAKBgQDTyd/KP2JuidA0JA+7i8FCzKCdn2Gq/ChfLpnBFcHb9vKgZb6n
aK2UXynpTbO6l5CVU4KG7w/hUJgxUQsSzNIsnPQuNpop/FO9doiV5l/94Hcuj17f
2AAEQGkWC8EvZBoMDr2JRVDBEji3l6mHXmTduCjH7VpuQyJRGHzWQu8HnwIDAQAB
AoGARat4Ifkd8U0Gn9BpGIIN7mKQR6nhoDTZNw6GZ903a5veDuPJhxrJVzDDAcuc
3znyxxy0qJzF9ZHkrvyBDwsv7AGyVfg6fwwLxvrsJS1MpwKLY3yqbPVk3hnaOECO
915XcbkVua+DGVjwtyX37CxPuSDaH2ut+kIQ3xci+BreSpkCQQD3FfgYELZgrHDk
JQaSiILCnFbld+NBuTm4CHPCN+XDZwzvC8sH4M9my7kznxAQosHbm+aGaOK1k4+k
zKgaiJzVAkEA223oSa7UMyMf/K/dEFmGjKBWQYP7gjLxcsxDHdwTpKHBEuZ32IT2
nuvYxsaOATqg8WABAJHWmT2Rj/joeAx8owJBANaLovLygAoNcbEIXV6bXj8xlVqG
8TO+a9narPk1pDI5psdijBb5I930g4nJUh+/02inRFHtfP2Bdbb5ZfY0LUkCQDxJ
iCamaBrcra8pSl1xm2wLqWc6seFlyby2rkIH80WqQ3fD5m2QqomjVt3WM7HWv91R
eTUE3KchqVqbEpPZKm0CQD7VMRAb1NNH+BNjuGxZB3AQSJvRXhpJ+w3ckSP6IX0L
N0OoHtvH5lvtm7hfB5nDUBYhqN3wj7wDNiK9Vrdyqow=
-----KONIEC KLUCZA PRYWATNEGO RSA-----
cat rsa_1024_pub.pem
-----ROZPOCZNIJ KLUCZ PUBLICZNY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTyd/KP2JuidA0JA+7i8FCzKCd
n2Gq/ChfLpnBFcHb9vKgZb6naK2UXynpTbO6l5CVU4KG7w/hUJgxUQsSzNIsnPQu
Npop/FO9doiV5l/94Hcuj17f2AAEQGkWC8EvZBoMDr2JRVDBEji3l6mHXmTduCjH
7VpuQyJRGHzWQu8HnwIDAQAB
-----KONIEC KLUCZA PUBLICZNEGO-----

Stwórz nową stronę index.html z następującym kodem źródłowym:

Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszęOdpowiedź


Stwórz nową aplikację konsolową .NET 8 z następującym kodem źródłowym:


Otwórz stronę index.html za pomocą przeglądarki, przetestuj szyfrowanie i użyj aplikacji .NET do jej odszyfrowania, jak pokazano na poniższym rysunku:



Uwaga: Zarówno szyfrowanie, jak i deszyfrowanie bardzo długich ciągów nie powiodą się, a wymagane są segmentowane szyfrowanie i odszyfrowanie. Szczegóły można znaleźć o:Logowanie do linku jest widoczne.

(Koniec)




Poprzedni:Docker analizuje najnowszą, konkretną (odpowiadającą) wersję obrazu
Następny:Serwer Jenkins (7) Linux builds Jenkins wersja 2.462.1
 Ziemianin| Opublikowano 2024-10-14 o 15:51:48 |
Wygeneruj klucze publiczne i prywatne o długości 2048

 Ziemianin| Opublikowano 2024-10-14 o 17:10:13 |
Inna front-endowa biblioteka szyfrowania i deszyfrowania RSA, node-forge, to w pełni natywna implementacja protokołu TLS w JavaScript, zestaw narzędzi kryptograficznych oraz zestaw narzędzi do tworzenia aplikacji webowych wykorzystujących duże zasoby sieciowe.

https://www.npmjs.com/package/node-forge

Już używany w Angular, zainstalowany z npm w następujący sposób:

Kod frontendowy wygląda następująco:

Kod backendowy .NET:



 Ziemianin| Opublikowano 2024-10-16 08:23:58 |
RSA szyfruje maksymalny rozmiar danych
Logowanie do linku jest widoczne.


W algorytmie szyfrowania RSA maksymalny rozmiar bloku do kodowania zależy od wybranej długości klucza. Ogólnie rzecz biorąc, klucze RSA mogą mieć długość 1024, 2048 bitów lub 4096 bitów.

Dla klucza 1024-bitowego maksymalny rozmiar bloku wynosi 117 bajtów. Oznacza to, że przy użyciu klucza 1024-bitowego maksymalny blok danych, jaki można zaszyfrować, wynosi 117 bajtów.

Dla kluczy 2048-bitowych maksymalny rozmiar bloku wynosi 245 bajtów. Oznacza to, że używając klucza 2048-bitowego, maksymalny blok danych, jaki można zaszyfrować, wynosi 245 bajtów.

Dla kluczy 4096-bitowych maksymalny rozmiar bloku wynosi 512 bajtów. Oznacza to, że przy użyciu klucza 4096-bitowego maksymalny blok danych, jaki można zaszyfrować, wynosi 512 bajtów.

Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com