Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 2344|Antwoord: 3

[Bron] Versleutel de backend met het RSA-algoritme (. NET) ontsleuteld

[Link kopiëren]
Geplaatst op 2024-9-6 08:44:03 | | | |
Vereisten: Het oorspronkelijke wachtwoord van de gebruiker in het project moet aan de backend worden doorgegeven, omdat de backend een derde partij interface met het wachtwoord moet aanroepen. Als het wachtwoord niet goed in platte tekst wordt verzonden, wordt het wachtwoord gelekt als het wordt vastgelegd door de packet capture-tool. Het RSA-algoritme werd uiteindelijk ingevoerd, waarbij de frontend het wachtwoord versleutelde met de publieke sleutel en de backend de private key gebruikte om het te ontsleutelen.

De frontend gebruikt het jsencrypt-pakket, adres:De hyperlink-login is zichtbaar.

Als de backend .NET 5 of hoger is, kun je de ingebouwde functies gebruiken; zo niet, gebruik dan de volgende parameters:

.NET/C# RSA PEM-formaat encryptie en ontsleuteling
https://www.itsvse.com/thread-10602-1-1.html

Gebruik eerst openssl om publieke en private sleutels te genereren, dit artikel wordt direct uitgevoerd op Linux (download en installeer openssl op het Windows-systeem), het commando luidt als volgt:



Cat rsa_1024_priv.pem
-----BEGIN RSA PRIVÉ SLEUTEL-----
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=
-----EINDE RSA PRIVÉ-SLEUTEL-----
Cat rsa_1024_pub.pem
-----BEGIN PUBLIEKE SLEUTEL-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTyd/KP2JuidA0JA+7i8FCzKCd
n2Gq/ChfLpnBFcHb9vKgZb6naK2UXynpTbO6l5CVU4KG7w/hUJgxUQsSzNIsnPQu
Npop/FO9doiV5l/94Hcuj17f2AAEQGkWC8EvZBoMDr2JRVDBEji3l6mHXmTduCjH
7VpuQyJRGHzWQu8HnwIDAQAB
-----EINDE PUBLIEKE SLEUTEL-----

Maak een nieuwe index.html-webpagina aan met de volgende broncode:

Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieftAntwoord


Maak een nieuwe .NET 8-consoleapplicatie met de volgende broncode:


Open de index.html webpagina met een browser, test de encryptie en gebruik de .NET-applicatie om deze te ontsleutelen, zoals weergegeven in de volgende figuur:



Opmerking: Zowel encryptie als decryptie van zeer lange strings zullen falen, en gesegmenteerde encryptie en ontsleuteling zijn vereist. Voor specifieke informatie kunt u verwijzen naar:De hyperlink-login is zichtbaar.

(Einde)




Vorig:Docker kijkt naar de nieuwste specifieke (overeenkomstige) versie van de afbeelding
Volgend:Jenkins (7) Linux-server bouwt Jenkins versie 2.462.1
 Huisbaas| Geplaatst op 14-10-2024 15:51:48 |
Genereer 2048 lengte publieke en private sleutels

 Huisbaas| Geplaatst op 14-10-2024 17:10:13 |
Een andere front-end RSA-encryptie- en decryptiebibliotheek, node-forge, is een volledig native implementatie van het TLS-protocol in JavaScript, een set cryptografische hulpmiddelen en een set tools voor het ontwikkelen van webapplicaties die gebruikmaken van grote hoeveelheden netwerkbronnen.

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

Al gebruikt in Angular, geïnstalleerd met npm als volgt:

De frontendcode is als volgt:

Backend .NET-code:



 Huisbaas| Geplaatst op 16-10-2024 08:23:58 |
RSA versleutelt de maximale datagrootte
De hyperlink-login is zichtbaar.


In het RSA-encryptie-algoritme hangt de maximale blokgrootte die gecodeerd moet worden af van de gekozen sleutellengte. In het algemeen kunnen RSA-sleutels een lengte van 1024-bits, 2048-bit of 4096-bits hebben.

Voor een 1024-bits sleutel is de maximale blokgrootte 117 bytes. Dit betekent dat bij gebruik van een 1024-bits sleutel het maximale datablok dat je kunt versleutelen 117 bytes is.

Voor 2048-bits sleutels is de maximale blokgrootte 245 bytes. Dit betekent dat bij gebruik van een 2048-bits sleutel het maximale datablok dat je kunt versleutelen 245 bytes is.

Voor 4096-bits sleutels is de maximale blokgrootte 512 bytes. Dit betekent dat bij het gebruik van een 4096-bits sleutel het maximale datablok dat je kunt versleutelen 512 bytes is.

Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com