Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 2344|Risposta: 3

[Fonte] Cripta il backend usando l'algoritmo RSA (. NET) decrittato

[Copiato link]
Pubblicato il 6-09-2024 08:44:03 | | | |
Requisiti: La password originale dell'utente nel progetto deve essere passata al backend, perché il backend deve chiamare un'interfaccia di terze parti con la password. Se la password non viene trasmessa bene in chiaro, se viene rilevata dallo strumento di cattura pacchetti, la password verrà trapelata. Fu infine adottato l'algoritmo RSA, con il frontend che cifrava la password usando la chiave pubblica e il backend che usava la chiave privata per decriptarla.

Il frontend utilizza il pacchetto jsencrypt, address:Il login del link ipertestuale è visibile.

Se il backend è .NET 5 o superiore, puoi usare le funzioni integrate; altrimenti, utilizza i seguenti parametri:

Crittografia e decrittografia in formato PEM .NET/C#
https://www.itsvse.com/thread-10602-1-1.html

Innanzitutto, usa openssl per generare chiavi pubbliche e private, questo articolo è eseguito direttamente su Linux (scarica e installa openssl su un sistema Windows), il comando è il seguente:



gatto rsa_1024_priv.pem
-----INIZIA LA CHIAVE PRIVATA RSA-----
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=
-----FINE DELLA CHIAVE PRIVATA RSA-----
cat rsa_1024_pub.pem
-----INIZIA CHIAVE PUBBLICA-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTyd/KP2JuidA0JA+7i8FCzKCd
n2Gq/ChfLpnBFcHb9vKgZb6naK2UXynpTbO6l5CVU4KG7w/hUJgxUQsSzNIsnPQu
Npop/FO9doiV5l/94Hcuj17f2AAEQGkWC8EvZBoMDr2JRVDBEji3l6mHXmTduCjH
7VpuQyJRGHzWQu8HnwIDAQAB
-----FINE CHIAVE PUBBLICA-----

Crea una nuova pagina web index.html con il seguente codice sorgente:

Turisti, se volete vedere il contenuto nascosto di questo post, vi pregoRisposta


Crea una nuova applicazione console .NET 8 con il seguente codice sorgente:


Apri la pagina web index.html usando un browser, testa la crittografia e usa l'applicazione .NET per decriptarla, come mostrato nella figura seguente:



Nota: Sia la crittografia che la decrittografia di stringhe molto lunghe falliranno, e sono necessarie la crittografia e la decrittazione segmentate. Per dettagli specifici, puoi fare riferimento a:Il login del link ipertestuale è visibile.

(Fine)




Precedente:Docker esamina l'ultima versione specifica (corrispondente) dell'immagine
Prossimo:Jenkins (7) Server Linux compila Jenkins versione 2.462.1
 Padrone di casa| Pubblicato il 14-10-2024 15:51:48 |
Genera chiavi pubbliche e private di lunghezza 2048

 Padrone di casa| Pubblicato il 14-10-2024 alle 17:10:13 |
Un'altra libreria front-end di cifratura e decrittazione RSA, node-forge, è un'implementazione completamente nativa del protocollo TLS in JavaScript, un insieme di utility crittografiche e un insieme di strumenti per sviluppare applicazioni web che sfruttano grandi quantità di risorse di rete.

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

Già utilizzato in Angular, installato con npm come segue:

Il codice frontend è il seguente:

Codice backend .NET:



 Padrone di casa| Pubblicato il 16-10-2024 08:23:58 |
RSA cripta la dimensione massima dei dati
Il login del link ipertestuale è visibile.


Nell'algoritmo di cifratura RSA, la dimensione massima del blocco da codificare dipende dalla lunghezza della chiave scelta. In generale, le chiavi RSA possono avere una lunghezza di 1024 bit, 2048 o 4096 bit.

Per una chiave da 1024 bit, la dimensione massima del blocco è di 117 byte. Questo significa che, usando una chiave a 1024 bit, il blocco massimo di dati che puoi cifrare è di 117 byte.

Per le chiavi da 2048 bit, la dimensione massima del blocco è di 245 byte. Ciò significa che, usando una chiave da 2048 bit, il blocco massimo di dati che puoi cifrare è di 245 byte.

Per le chiavi a 4096 bit, la dimensione massima del blocco è di 512 byte. Ciò significa che usando una chiave a 4096 bit, il blocco massimo di dati che puoi cifrare è di 512 byte.

Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com