Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 2344|Svar: 3

[Källa] Kryptera backend med RSA-algoritmen (. NET) dekrypterad

[Kopiera länk]
Publicerad den 2024-9-6 08:44:03 | | | |
Krav: Användarens ursprungliga lösenord i projektet måste skickas till backend, eftersom backend måste anropa ett tredjepartsgränssnitt med lösenordet. Om lösenordet inte överförs i klartext särskilt väl, om det fångas upp av paketfångstverktyget, kommer lösenordet att läcka. RSA-algoritmen antogs så småningom, där frontend krypterade lösenordet med den publika nyckeln och backend använde den privata nyckeln för att dekryptera det.

Frontend använder jsencrypt-paketet, adress:Inloggningen med hyperlänken är synlig.

Om backend är .NET 5 eller högre kan du använda de inbyggda funktionerna, om inte, använd följande parametrar:

.NET/C# RSA PEM-formatkryptering och dekryptering
https://www.itsvse.com/thread-10602-1-1.html

Först, använd openssl för att generera publika och privata nycklar, denna artikel körs direkt på Linux (ladda ner och installera openssl på Windows-systemet), kommandot är följande:



Cat rsa_1024_priv.pem
-----BÖRJA MED RSA PRIVAT NYCKEL-----
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=
-----SLUT PÅ RSA PRIVAT NYCKEL-----
Cat rsa_1024_pub.pem
-----STARTA PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTyd/KP2JuidA0JA+7i8FCzKCd
n2Gq/ChfLpnBFcHb9vKgZb6naK2UXynpTbO6l5CVU4KG7w/hUJgxUQsSzNIsnPQu
Npop/FO9doiV5l/94Hcuj17f2AAEQGkWC8EvZBoMDr2JRVDBEji3l6mHXmTduCjH
7VpuQyJRGHzWQu8HnwIDAQAB
-----SLUT OFFENTLIG NYCKEL-----

Skapa en ny index.html-webbsida med följande källkod:

Turister, om ni vill se det dolda innehållet i detta inlägg, snällaSvar


Skapa en ny .NET 8-konsolapplikation med följande källkod:


Öppna index.html webbsida med en webbläsare, testa krypteringen och använd .NET-applikationen för att dekryptera den, som visas i följande figur:



Observera: Både kryptering och dekryptering av mycket långa strängar kommer att misslyckas, och segmenterad kryptering och dekryptering krävs. För specifika uppgifter kan du hänvisa:Inloggningen med hyperlänken är synlig.

(Slut)




Föregående:Docker tittar på den senaste specifika (motsatta) versionen av bilden
Nästa:Jenkins (7) Linux-server bygger Jenkins version 2.462.1
 Hyresvärd| Publicerad den 2024-10-14 15:51:48 |
Generera 2048-längds publika och privata nycklar

 Hyresvärd| Publicerad den 2024-10-14 17:10:13 |
Ett annat frontend-RSA-krypterings- och dekrypteringsbibliotek, node-forge, är en helt inbyggd implementation av TLS-protokollet i JavaScript, en uppsättning kryptografiska verktyg och en uppsättning verktyg för att utveckla webbapplikationer som utnyttjar stora mängder nätverksresurser.

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

Redan använd i Angular, installerad med npm enligt följande:

Frontend-koden är som följer:

Backend .NET-kod:



 Hyresvärd| Publicerad den 2024-10-16 08:23:58 |
RSA krypterar maximal datastorlek
Inloggningen med hyperlänken är synlig.


I RSA-krypteringsalgoritmen beror den maximala blockstorleken som ska kodas på den valda nyckellängden. Generellt kan RSA-nycklar vara 1024-bitars, 2048-bitars eller 4096-bitars längd.

För en 1024-bitars nyckel är den maximala blockstorleken 117 byte. Detta innebär att när man använder en 1024-bitars nyckel är det maximala datablocket du kan kryptera 117 byte.

För 2048-bitars nycklar är den maximala blockstorleken 245 byte. Detta innebär att när man använder en 2048-bitars nyckel är det maximala datablocket du kan kryptera 245 byte.

För 4096-bitars nycklar är den maximala blockstorleken 512 byte. Detta innebär att när man använder en 4096-bitars nyckel är det maximala datablocket du kan kryptera 512 byte.

Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com