Decriptare una stringa in .NET Core usando l'algoritmo AES

di Stefano Mostarda, in .NET Framework,

Nello script #510 abbiamo visto come creare un metodo che prende una stringa e una chiave e cripta la stringa con la chiave restituendo a sua volta una stringa criptata ed encodata in Base64. In questo script ci occupiamo del processo inverso ovvero di recuperare la stringa criptata e trasformarla nell astringa originale.

public static string DecryptString(string cipherText, string keyValue)
{
  var key = Encoding.UTF8.GetBytes(keyValue);

  using (var aesAlg = Aes.Create())
  {
    using (var decryptor = aesAlg.CreateDecryptor(key, aesAlg.IV))
    {
      using (MemoryStream msDecrypt = new MemoryStream(Convert.FromBase64String(cipherText)))
      {
        using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
        {
          using (StreamReader srDecrypt = new StreamReader(csDecrypt))
          {
            return srDecrypt.ReadToEnd();
          }
        }
      }
    }
  }
}

Questo metodo è molto simile a quello visto nello script #510 in quanto istanza la classe che rappresenta l'algoritmo AES e successivamante crea un'istanza dell'oggetto che decripta la stringa. Dopo questo vengono creati gli stream di lettura (passando il byte array della stringa criptata nel costruttore), di criptaggio e di deposito della stringa decriptata. Una volta creati questi stream, il metodo ReadToEnd dello stream di deposito torna la stringa decriptata.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi