public static SecretAESKey DecryptSecretAESKey(RSAParameters privateKey, string encryptedKey) { byte[] bKey = Convert.FromBase64String(encryptedKey); using (RSA Rsa = RSA.Create()) { Rsa.ImportParameters(privateKey); String json = Encoding.UTF8.GetString(Rsa.Decrypt(bKey, RSAEncryptionPadding.OaepSHA512)); SecretAESKey obj = JsonConvert.DeserializeObject <SecretAESKey>(json); return(obj); } }
public static T DecryptDataAES <T>(SecretAESKey key, string encryptedData) { byte[] text = Convert.FromBase64String(encryptedData); Aes aes = Aes.Create(); byte[] origin; using (ICryptoTransform decryptor = aes.CreateDecryptor(key.Key, key.IV)) { origin = decryptor.TransformFinalBlock(text, 0, text.Length); } return(JsonConvert.DeserializeObject <T>(Encoding.UTF8.GetString(origin))); }