cipher - how to use aes encryption in c#
C#Ejemplo de cifrado AES256 utilizando System.Security.Cryptography.Aes (2)
Necesito implementar el cifrado / descifrado AES 256 y no he podido encontrar un ejemplo que funcione correctamente.
MSDN sugiere que debería usar la clase AES.
La clase Rijndael es la antecesora del algoritmo Aes. Deberías usar el algoritmo Aes en lugar de Rijndael. Para obtener más información, consulte la entrada Las diferencias entre Rijndael y AES en el blog de seguridad de .NET.
¿Alguien podría dirigirme hacia un buen ejemplo utilizando la clase AES para AES256?
Para añadir un poco más de claridad:
Tengo un archivo de cifrado que contiene la clave compartida y una cadena de texto cifrado. Necesito descifrar el texto y luego validarlo.
Todos los ejemplos que he visto esperan al menos 2 parámetros para realizar el cifrado / descifrado.
¿Debo poder inferir el vector de inicialización y la clave del texto en el archivo de cifrado?
Este es un ejemplo del texto contenido en mi archivo de cifrado:
ÊÚḠ± Ìrá ƒ @ † ² Ä;
Una vez que descubrí toda la información de cómo mi cliente estaba manejando el cifrado / descifrado al final, fue sencillo usar el AesManaged sugerido por dtb.
El código finalmente implementado comenzó así:
try
{
// Create a new instance of the AesManaged class. This generates a new key and initialization vector (IV).
AesManaged myAes = new AesManaged();
// Override the cipher mode, key and IV
myAes.Mode = CipherMode.ECB;
myAes.IV = new byte[16] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; // CRB mode uses an empty IV
myAes.Key = CipherKey; // Byte array representing the key
myAes.Padding = PaddingMode.None;
// Create a encryption object to perform the stream transform.
ICryptoTransform encryptor = myAes.CreateEncryptor();
// TODO: perform the encryption / decryption as required...
}
catch (Exception ex)
{
// TODO: Log the error
throw ex;
}
Tal vez este ejemplo listado here pueda ayudarte. Declaración del autor
alrededor de 24 líneas de código para cifrar, 23 para descifrar