Crittografia RSA Restituisce diversa uscita
-
21-12-2019 - |
Domanda
Sono nuovo alla crittografia RSA e ho cercato di imparare come funziona esattamente usando il System.Security.Cryptography
.
public String Encryption(Byte[] Input, RSAParameters PublicKey)
{
RSAC = new RSACryptoServiceProvider();
RSAC.ImportParameters(PublicKey);
Byte[] Encrypt = RSAC.Encrypt(Input, false);
return Convert.ToBase64String(Encrypt);
}
.
Utilizzando il codice sopra, ottengo una diversa stringa crittografata per la stessa Innput, in qualsiasi momento riavvio dell'applicazione.Mi piacerebbe sapere se questo è un comportamento normale e nel caso non lo sia, come impedirlo.
ad esempio il programma restituisce la stringa sotto per l'ingresso "Ciao":
NopDAF5FRu....
.
Quando riavvio l'applicazione l'uscita per lo stesso ingresso sarà:
pPPu8x6....
.
Tuttavia quando creo nuovi oggetti per la mia classe di crittografia RSA, tutti gli oggetti restituiscono la stessa uscita.
Soluzione
È totalmente normale e fine.I dati crittografati vengono inseriti all'interno di un blocco imbottito con i valori Random .Questo è quindi crittografato con il tasto Public .
Vedi questo Quindi Domande e risposte per ulteriori dettagli.