simple example encrypt decrypt crypto code and c# encryption

example - C#Byte[] Encriptación



simple encryption c# (2)

¿Le duele la adición de 1 a 16 bytes? AES rellenará de forma predeterminada utilizando el siguiente método:

private static void EncryptThenDecrypt() { byte[] message; // fill with your bytes byte[] encMessage; // the encrypted bytes byte[] decMessage; // the decrypted bytes - s/b same as message byte[] key; byte[] iv; using (var rijndael = new RijndaelManaged()) { rijndael.GenerateKey(); rijndael.GenerateIV(); key = rijndael.Key; iv = rijndael.IV; encMessage = EncryptBytes(rijndael, message); } using (var rijndael = new RijndaelManaged()) { rijndael.Key = key; rijndael.IV = iv; decMessage = DecryptBytes(rijndael, encMessage); } } private static byte[] EncryptBytes( SymmetricAlgorithm alg, byte[] message) { if ((message == null) || (message.Length == 0)) { return message; } if (alg == null) { throw new ArgumentNullException("alg"); } using (var stream = new MemoryStream()) using (var encryptor = alg.CreateEncryptor()) using (var encrypt = new CryptoStream(stream, encryptor, CryptoStreamMode.Write)) { encrypt.Write(message, 0, message.Length); encrypt.FlushFinalBlock(); return stream.ToArray(); } } private static byte[] DecryptBytes( SymmetricAlgorithm alg, byte[] message) { if ((message == null) || (message.Length == 0)) { return message; } if (alg == null) { throw new ArgumentNullException("alg"); } using (var stream = new MemoryStream()) using (var decryptor = alg.CreateDecryptor()) using (var encrypt = new CryptoStream(stream, decryptor, CryptoStreamMode.Write)) { encrypt.Write(message, 0, message.Length); encrypt.FlushFinalBlock(); return stream.ToArray(); } }

Tengo un campo Byte [] que es un contenido de archivo que necesito encriptar. Nada especial o elegante, solo lo suficiente para garantizar que la siguiente persona que lo obtenga no pueda descifrarlo fácilmente sin un esfuerzo. Usaría la encriptación que viene con .Net Framework 4.0 pero definitivamente no necesito hacer el archivo más grande de lo que es.

Pensé simplemente en invertir la matriz o agregar algunos bytes al final ...

Si puedo evitar hacer la matriz mucho más grande, sería genial.

¿Alguna sugerencia?

¡Gracias!